2011-07-14 14 views
26

En nuestro proyecto ahora que el uso de log4cxx, pero los que la biblioteca no desarrollar algunos años, también tenemos algunos problemas con él. ¿Podría recomendar alguna biblioteca para iniciar sesión en C++? La biblioteca debe admitir el registro multithreade, registro del sistema. También será bueno si admite el registro a través del operador < <. También la licencia lib debe ser muy democrática, como boost, apache, etc. Compatibilidad con Crossplatform. Debe ser compatible con Linux, Windows. Mejor si admite Solaris, aix, hp-ux, pero no es necesario.mejor biblioteca de registro para C++

+1

echar un vistazo para: [easylogging ++] (https://github.com/easylogging/easyloggingpp). Es mejor que impulsar :: iniciar sesión en mi opinión. – lepe

Respuesta

16

boost::log es probablemente la biblioteca de registro más versátil y bien escrito que he visto. Es bastante complicado pero realmente genial al mismo tiempo. Y hace todo lo que puedes pensar y algo más.

+0

¿Y sabes por qué esta biblioteca ahora no está mejorando? ¿Aprobación en curso o algunos problemas serios con eso? – Olympian

+0

En realidad, no sé la razón exacta; tal vez no es lo suficientemente maduro? Lo he usado para un par de proyectos y no tuve problemas con eso en absoluto. – stijn

+1

Se aceptó, pero hubo algunos problemas para meterlo en el maletero de refuerzo (algo que tiene que ver con la versión de fénix IIRC). Hubo un debate reciente sobre la lista de correo de impulso con respecto a esto. – Ralf

3

Echa un vistazo pantheios!

+1

¿Esta biblioteca admite multi-logging (no sé cómo se llama) - para Por ejemplo, tengo el módulo A, B. Quiero establecer el seguimiento del nivel de registro para A y solo el error para B? ¿Y está creando nuevos registradores y configurándolos con facilidad? O en algún momento no trivial – Olympian

+2

Pantheios se ve muy bien, excepto que el autor parece haberlo dejado moribundo en la vid durante al menos 18 meses, y no se compilará con las últimas versiones del compilador :-( –

3

Utilizamos log4cplus en nuestra empresa, que proporciona un sistema de registro jerárquica compleja (basado en log4j). Parece tener todo lo que estás pidiendo. Proporciona muchos appenders (yo personalmente elijo esta biblioteca para los archivos continuos linux/windows y linux Syslog).

La biblioteca es bastante simple de compilar e implementar en las dos ventanas de linux & Y hacer el trabajo sin problema hasta el momento (unos 4 años en producción).

El único inconveniente, la falta de documentación, pero el código es bastante explica por sí mismo. Bien nuevo, puede ir a la página de documentación de log4j para comprender cómo funcionan los configuradores/patrones/etc. ...

12

Utilizo la biblioteca glog, por google (porque no pude instalar Boost.Log fácilmente). Es simple de usar y potente.

+0

Sí, miro esta biblioteca. Es fácil, pero a los jóvenes - me temo que hay algunos errores :( – Olympian

+0

Parece interesante! Gracias –

+2

glog tiene algunos inconvenientes: - toma la configuración de los indicadores de línea de comandos (y por lo tanto funciona mejor con gflags); - que espera ser inicializado desde principal por lo tanto no se espera para ser utilizado en bibliotecas cargadas dinámicamente (donde cada lib INITs su propio GLOG); - carece de doc para las ventanas (por ejemplo,cuál es una ruta de archivo predeterminada para los registros); Desde el otro lado: es de alta calidad, bien probado, utilizado en sistemas de gran producción. –