2010-08-18 14 views
85

Sto pensando di iniziare a utilizzare lo Boost.Log logging library. Qualcuno sta usando Boost.Log? Per favore condividi le tue esperienze a riguardo.Esperienza nell'uso della libreria di registrazione Boost.Log?

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

+0

Ho il mio sistema di registrazione, ma sto considerando di passare, una domanda così interessante! –

+0

@Cedric Sì, anch'io ho il mio sistema di registrazione ma non posso andare troppo lontano perché ho bisogno di prestazioni elevate, configurabilità come l'invio di debug alla console e al file, riconfigurabilità dinamica (opzionale), registrazione dei componenti e i registri non vengono manchiati durante l'utilizzo di più thread. –

+21

bloost.log è MOLTO MOLTO lento, incredibilmente complesso da configurare, ha appena passato il suo processo di revisione e dalla 1.44 non è ancora nella versione Boost. È una di quelle librerie che potrebbero non essere inserite nella linea principale entro i prossimi due anni, quindi per ora log4c ecc sono opzioni migliori. –

risposta

21

AGGIORNAMENTO: Sto utilizzando Boost.Log in un sistema di gestione dei giochi 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 in una prossima versione di quest'anno (2013).


Boost.Log consente di configurare un sistema di registro 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 l'accesso a un computer remoto).

Quindi, there are macro to ease use in simple projects ma penso che sia il tipo di libreria che è utile soprattutto alle persone che capiscono veramente il logging e vogliono costruire un'architettura specifica per la loro applicazione.

Per quanto riguarda le prestazioni, ricordo che ci sono stati problemi alla submission che lo rendevano lento rispetto ad altre (meno flessibili) librerie di logging ma dato che era una bozza e la prima release non è ancora uscita non mi preoccuperei se si ' Non si sta codificando un'applicazione critica per il tempo.

Alla fine, penso che sia semplicemente troppo "nuovo" per essere valutato "adesso". Non c'è altra libreria di registrazione che sia 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 Boost.Log genera alcuni dati che suggeriscono che tat Boost.Log è chiaramente un'alternativa eccellente per la registrazione veloce.

40

UPDATE: Da quando è stato scritto, ho sostituito Boost.Log con la mia registrazione personalizzata, principalmente perché ho deciso di sbarazzarmi di tutte le dipendenze di Boost in tutti i miei progetti per vari motivi. Se stai bene con Boost, suppongo che Boost.Log sia ancora una scelta valida a giudicare dal Klaim's answer.

La mia esperienza con Boost.Log nell'anno 2010 segue.


Ho integrato con successo Boost.Log nel mio motore di gioco e posso solo parlare bene di ciò. Certo, è un po 'presto da usare, poiché la versione 2 sarà la versione attuale 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. Prendi questo in considerazione se hai intenzione di utilizzare questa versione in qualsiasi progetto serio. Se non si ha paura di usare versioni con margini sanguinanti o di rottura futura, allora provaci. È davvero bello da usare come è nel suo stato attuale.

Ho sempre pensato 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 di lavelli separati dal frontend/backend semplifica l'aggiunta di 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 di rotazione, 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. Era più facile di quanto mi aspettassi, è stato installato e funzionante in pochi minuti.

Ultimo ma non meno importante, il manutentore/sviluppatore è davvero utile. Avrai un sacco di aiuto nei forum del progetto. Ha riparato due bug (di cui uno importante) proprio questo fine settimana che ho riportato :-)

7

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

Ho provato log4cxx mentre lo menzioni, è davvero molto noioso da installare. Mi ci sono volute diverse ore per farlo compilare con VS2012 (con altre librerie di dipendenze ...), e poi si è schiantato quando l'ho usato nel mio progetto. Certamente alcune cose strane in corso con le librerie standard non corrispondono, ma non riuscivo a capirlo.

Così sono passato a log4cpp, che ho iniziato 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 vantaggio per il lavoro di gruppo (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 a una funzione per registrare effettivamente i dati.

Con un paio di macro fatti in casa (per aggiungere LINE & co. Per i messaggi), log4cpp ha davvero dimostrato utile nel mio progetto.

Sfortunatamente, non ho provato Boost.Log quindi non posso parlarne, ma spero che questo feedback sarà comunque utile per te se scegli di non utilizzare il metodo Boost.

Problemi correlati