log4cxx: è un'opzione stabile da includere come parte della libreria distribuita? [chiuso]

1

Stiamo trasferendo la nostra libreria API Java in C ++. (Le nostre piattaforme di destinazione sono Linux e Windows.) Poiché abbiamo un'esperienza C ++ minima, la curva di apprendimento è stata piuttosto ripida, ma nel complesso siamo stati in grado di realizzare una porta pulita finora.

In Java usiamo log4j, e stiamo cercando di usare log4cxx nella versione C ++. Ci sono volute alcune ore per ottenere log4cxx da compilare su Windows (dovuto sia alla nostra inesperienza, sia alla compilazione della documentazione sembra scaduta). Non abbiamo ancora provato a costruire su Linux.

Per il mio occhio non informato, log4cxx sembra disordinato e alquanto obsoleto. Esiste un consenso sul fatto che si tratti di un buon quadro per la registrazione? (Anche Log4j sembra essere stato sostituito da SLF4J e Logback.)

Ho esaminato anche la registrazione di boost, ma non sembra essere parte della distribuzione principale, quindi non ero sicuro se mi fosse stata fornita un'opzione più standard con quella o meno.

Un'altra informazione da aggiungere alla valutazione: il primo client a cui stiamo fornendo sta già utilizzando log4cxx.

    
posta Sam Goldberg 04.07.2013 - 20:52
fonte

2 risposte

4

Una cosa che devi capire, da Java a C ++, è che non ha una singola libreria monolitica standard . È una debolezza chiave del C ++ e qualcosa che il comitato linguistico è molto attento ad affrontare , ma il tempo - e in abbondanza - ci dirà se è possibile migliorarlo.

Ciò significa che è necessario acquisire familiarità con la ricerca e la valutazione di librerie di terze parti da soli. Ciò non significa però che il C ++ non abbia librerie di alta qualità! Molte librerie di terze parti sono molto buone e vengono utilizzate da molti progetti. E 'solo che senza un'autorità centrale che vi mette il loro marchio di approvazione, dovete fare da soli le indagini. Nota che ci sono stati molti bug nelle librerie standard di Java, C # e così via, quindi non far parte della libreria "standard" non significa automaticamente che non è attendibile.

Alcuni punti che potrebbero aiutarti:

  • Boost è una scelta molto sicura; è usato da molte persone, e parti di esso sono così buone che alla fine riescono a trasformarle in linguaggio C ++ e librerie standard. Essere consapevoli, tuttavia, che la sua qualità non è uniforme; attenersi alle parti comunemente usate e lontano dalle frange e starai bene. Questo non è inteso come un colpo a Boost; è un sintomo comune di qualsiasi libreria di grandi dimensioni con frange instabili.
  • Qualsiasi libreria che viene utilizzata da molte persone e che è attivamente e ben mantenuta, ha buone probabilità di essere di alta qualità. Parla con i tuoi colleghi per scoprire quali librerie consigliano o fai le tue indagini. Non so se log4cxx rientra in questa categoria; chiedi a chi è familiare.
  • A volte hai bisogno di una libreria che faccia qualcosa di molto oscuro, o per qualsiasi ragione non ci sia motivo per nessuno di creare una buona libreria per questo. Quindi devi prendere alcune decisioni difficili, come trovare una libreria open source traballante e riprenderla da zero, scrivendo la tua o pagando un venditore per farlo.
risposta data 05.07.2013 - 09:32
fonte
1

Boost.Log è un parte della distribuzione ufficiale di Boost dalla 1.54.0 .

Today applications grow rapidly, becoming complicated and difficult to test and debug...

This library aims to make logging significantly easier for the application developer. It provides a wide range of out-of-the-box tools along with public interfaces for extending the library. The main goals of the library are:

  • Simplicity. A small example code snippet should be enough to get the feel of the library and be ready to use its basic features.
  • Extensibility. A user should be able to extend functionality of the library for collecting and storing information into logs.
  • Performance. The library should have as little performance impact on the user's application as possible...
    
risposta data 04.07.2013 - 22:34
fonte

Leggi altre domande sui tag