Hai esperienza nell'uso della libreria di registrazione Boost.Log? [chiuso]


88

Sto considerando di iniziare a utilizzare la libreria di registrazione Boost.Log . Qualcuno sta usando Boost.Log? Per favore condividi le tue esperienze al riguardo.

Le altre librerie che sto prendendo in considerazione sono Apache log4cxx (sembra noioso da installare ma i miei compagni di squadra vogliono qualcosa di semplice per iniziare) e Pantheios (lo stesso problema dato che funziona con front e back end extra).


Ho il mio sistema di registrazione, ma sto pensando di cambiare, domanda così interessante!
Cedric H.

21
bloost.log è MOLTO MOLTO lento, incredibilmente complesso da configurare, ha superato a malapena il processo di revisione e alla 1.47 non è ancora disponibile nella versione Boost. È una di quelle librerie che potrebbero non entrare nella linea principale entro i prossimi due anni, quindi per ora log4c ecc.Sono opzioni migliori.

4
In realtà, è stato spiegato che ha bisogno di alcune correzioni e che l'attuale obiettivo del rilascio è questa estate - le biblioteche abbandonate non hanno un programma e un repository in corso di lavorazione. Inoltre, è stato segnalato dall'autore che l'utente ha riportato prestazioni MOLTO MOLTO buone. La complessità è utile in alcuni contesti e se non ne hai bisogno, puoi semplicemente utilizzare le semplici macro fornite. Quindi, non sono d'accordo con il tuo commento.
Klaim

40
Vorrei davvero che StackOverflow smettesse di chiudere domande ovviamente utili come questa come "non costruttive".
Stéphane

6
Mi chiedo, come va la performance nel 2015? Forse usare 2.0 è "OK" ora?
Vincas Dargis

Risposte:


41

AGGIORNAMENTO : da quando questo è stato scritto ho sostituito Boost.Log con il mio log personalizzato, soprattutto perché ho deciso di eliminare tutte le dipendenze di Boost in tutti i miei progetti per vari motivi. Se stai bene usando Boost, immagino che Boost.Log sia ancora una scelta valida a giudicare dalla risposta di Klaim .

Segue la mia esperienza con Boost.Log nel 2010.


Ho integrato con successo Boost.Log nel mio motore di gioco e posso solo parlarne bene. Certo, è un po 'presto per usarlo, poiché la versione 2 sarà la versione effettiva che diventerà il Boost.Log ufficiale.

Attenzione che la versione "1.0" disponibile non viene mantenuta. Per ricevere gli aggiornamenti è necessario utilizzare la versione bleeding edge (trunk) che potrebbe diventare instabile. Tienilo in considerazione se intendi utilizzare questa versione in progetti seri. Se non hai paura di usare versioni all'avanguardia o rotture future, allora fallo. È davvero bello da usare così com'è nel suo stato attuale.

Ho pensato a lungo che il sistema di registrazione gerarchico in log4j / log4cxx fosse superiore, ma Boost.Log mi ha fatto pensare diversamente. Il filtraggio e gli attributi sono molto più flessibili.

Il design dei lavelli separati da frontend / backend rende davvero facile aggiungere backend aggiuntivi. Non c'è bisogno di preoccuparsi dei problemi di sincronizzazione o del filtraggio che viene gestito dal frontend. La libreria include già molti backend, file rotazionali, console, syslog, registro eventi di Windows, ecc.

Ho scritto i miei backend sink; uno va alla console di gioco e uno a una sorta di sistema di notifica per eventi più gravi. È stato più facile di quanto mi aspettassi, è stato installato e funzionante in pochi minuti.

Ultimo ma non meno importante, anche il manutentore / sviluppatore è molto utile. Riceverai molto aiuto nei forum del progetto. Ha corretto due bug (di cui uno importante) proprio questo fine settimana che ho segnalato :-)


21

AGGIORNAMENTO: Sto usando Boost.Log in un sistema di motore di gioco e sono molto soddisfatto. È veloce, thread-safe e molto molto flessibile quando ne hai bisogno.

Boost.Log dovrebbe essere fornito con tutte le librerie Boost nella prossima versione di quest'anno (2013).


Boost.Log è fatto per configurare un sistema di log su di esso. Se leggi la documentazione, vedrai che è così flessibile che qualsiasi sistema di registrazione a cui puoi pensare può essere costruito con esso (come il login su un computer distante).

Quindi, ci sono macro per facilitare l'uso in progetti semplici, ma penso che sia il tipo di libreria che è utile principalmente alle persone che capiscono davvero il logging e vogliono costruire un'architettura specifica per la loro applicazione.

Riguardo alle prestazioni, ricordo che c'erano problemi all'invio che lo rendevano lento rispetto ad altre librerie di logging (meno flessibili) ma poiché era una bozza e la prima versione non è ancora uscita non mi preoccuperei se non stai codificando applicazione time-critical.

Alla fine, penso che sia semplicemente troppo "nuovo" per essere valutato "ora". Non esiste un'altra libreria di registrazione flessibile come questa e non sono sicuro che molte persone sentiranno il bisogno di usarla.

Aggiornamento: un recente scambio di e-mail con l'autore di Boost.Log ha prodotto alcuni dati che suggeriscono che tat Boost.Log è chiaramente un'ottima alternativa per la registrazione veloce.


7

Recentemente ho esaminato l'implementazione di un sistema di registrazione su un progetto che stavo iniziando.

Ho provato log4cxx come dici tu, è davvero molto noioso da installare. Mi ci sono volute diverse ore per farlo compilare sotto VS2012 (con altre librerie di dipendenze ...), e poi si è bloccato quando l'ho usato nel mio progetto. Certamente alcune cose strane accadono con le mancate corrispondenze delle librerie standard, ma non sono riuscito a capirlo.

Quindi sono passato a log4cpp che ho installato e funzionante in pochi minuti. Lo trovo elegante e leggero, proprio quello di cui avevo bisogno. Ha il grande vantaggio di avere le stesse caratteristiche del noto log4j & co. sistemi di registrazione che potrebbero essere un vero vantaggio per il tuo lavoro di squadra (configurazione tramite file di configurazione, ecc.)

Per quanto riguarda le prestazioni, è necessaria una chiamata di funzione per verificare se il logger è attivo per il livello del messaggio, quindi una chiamata di funzione per registrare effettivamente i dati.

Con alcune macro fatte in casa (per aggiungere LINE & co. Ai messaggi), log4cpp si è davvero dimostrato utile nel mio progetto.

Sfortunatamente, non ho provato Boost.Log, quindi non posso parlarne, ma spero che questo feedback ti sarà ancora utile se scegli di non seguire il metodo Boost.Log.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.