¿Tiene experiencia en el uso de la biblioteca de registro Boost.Log? [cerrado]
88
Estoy considerando comenzar a usar la biblioteca de registro Boost.Log . ¿Alguien está usando Boost.Log? Comparta sus experiencias al respecto.
Las otras bibliotecas que estoy considerando son Apache log4cxx (parece tedioso de instalar, pero mis compañeros de equipo quieren algo simple para comenzar) y Pantheios (el mismo problema, ya que funciona con una parte frontal y posterior adicional).
Tengo mi propio sistema de registro, pero estoy considerando cambiar, ¡pregunta tan interesante!
Cedric H.
21
bloost.log es MUY MUY lento, increíblemente complejo de configurar, apenas pasó su proceso de revisión y, a partir de la versión 1.47, todavía no está en la versión de Boost. Es una de esas bibliotecas que podrían no estar en la línea principal en los próximos años, así que por ahora log4c, etc.son mejores opciones.
4
En realidad, se ha explicado que necesita algunas correcciones y que el objetivo actual del lanzamiento es este verano: las bibliotecas abandonadas no tienen un repositorio de programación ni trabajo en progreso. Además, el autor ha informado que el usuario informó un MUY MUY buen rendimiento. La complejidad es útil en algunos contextos y, si no la necesita, puede usar las sencillas macros proporcionadas. Entonces, no estoy de acuerdo con tu comentario.
Klaim
40
Realmente desearía que StackOverflow dejara de cerrar preguntas obviamente útiles como esta como "no constructivas".
Stéphane
6
Me pregunto, ¿cómo estará el desempeño en 2015? ¿Quizás usar 2.0 está "bien" ahora?
Vincas Dargis
Respuestas:
41
ACTUALIZACIÓN : Desde que se escribió esto, reemplacé Boost.Log con mi propio registro personalizado, principalmente porque decidí deshacerme de todas las dependencias de Boost en todos mis proyectos por varias razones. Si está de acuerdo con el uso de Boost, supongo que Boost.Log sigue siendo una opción válida a juzgar por la respuesta de Klaim .
Mi experiencia con Boost.Log en el año 2010 sigue.
He integrado con éxito Boost.Log en mi motor de juego y solo puedo hablar cosas buenas al respecto. Claro, es un poco temprano de usar, ya que la versión 2 será la versión real que se convertirá en el Boost.Log oficial.
Tenga en cuenta que la versión "1.0" disponible no se mantiene. Para recibir actualizaciones, debe utilizar la versión de última generación (tronco) que puede volverse inestable. Tenga esto en cuenta si va a utilizar esta versión en proyectos serios. Si no tiene miedo de usar versiones de vanguardia o futuras roturas, hágalo. Es realmente agradable de usar ya que está en su estado actual.
Durante mucho tiempo pensé que el sistema de registro jerárquico en log4j / log4cxx era superior, pero Boost.Log me hizo pensar lo contrario. El filtrado y los atributos son mucho más flexibles.
El diseño de sumideros separados por frontend / backend hace que sea realmente fácil agregar backends adicionales. No hay necesidad de preocuparse por problemas de sincronización o filtrado que se maneja en la interfaz. La biblioteca también viene con muchos backends, archivos rotativos, consola, syslog, registro de eventos de Windows, etc.
He escrito mis propios backends de fregadero; uno va a la consola del juego y otro a una especie de sistema de notificación para eventos más serios. Fue más fácil de lo que esperaba, lo tuve listo y funcionando en solo unos minutos.
Por último, pero no menos importante, el mantenedor / desarrollador también es muy útil. Obtendrá mucha ayuda en los foros del proyecto. Ha solucionado dos errores (de los cuales uno es importante) este fin de semana que informé :-)
ACTUALIZACIÓN: Estoy usando Boost.Log en un sistema de motor de juego y estoy muy contento con él. Es rápido, seguro para subprocesos y muy, muy flexible cuando lo necesita.
Boost.Log debería incluirse con todas las bibliotecas de Boost en una próxima versión de este año (2013).
Boost.Log está hecho para configurar un sistema de registro sobre él. Si lees la documentación, verás que es tan flexible que cualquier sistema de registro que puedas imaginar se puede construir con él (como iniciar sesión en una computadora distante).
Por lo tanto, existen macros para facilitar su uso en proyectos simples, pero creo que es el tipo de biblioteca que es útil principalmente para las personas que realmente entienden el registro y desean construir una arquitectura específica para su aplicación.
Sobre el rendimiento, recuerdo que hubo problemas en el envío que lo hicieron lento en comparación con otras bibliotecas de registro (menos flexibles), pero como era un borrador y la primera versión aún no ha salido, no me molestaría si no está codificando un aplicación de tiempo crítico.
Al final, creo que es simplemente demasiado "nuevo" para ser evaluado "ahora". No hay otra biblioteca de registro que sea tan flexible como esta y no estoy seguro de que mucha gente sienta la necesidad de usarla.
Actualización: un intercambio de correo electrónico reciente con el autor de Boost.Log arrojó algunos datos que sugieren que Boost.Log es claramente una excelente alternativa para el registro rápido.
Recientemente busqué implementar un sistema de registro en un proyecto que estaba comenzando.
Probé log4cxx como lo mencionas, de hecho es muy tedioso de instalar. Me tomó varias horas lograr que se compilara en VS2012 (con otras bibliotecas de dependencia ...), y luego se bloqueó cuando lo usé en mi proyecto. Ciertamente, están sucediendo algunas cosas extrañas con las discordancias de las bibliotecas estándar, pero no podía resolverlo.
Así que cambié a log4cpp, que lo puse en funcionamiento en solo unos minutos. Lo encuentro elegante y ligero, justo lo que necesitaba. Tiene la gran ventaja de tener las mismas características que el conocido log4j & co. sistemas de registro que pueden ser una verdadera ventaja para su trabajo en equipo (configuración a través del archivo de configuración, etc.)
En lo que respecta al rendimiento, se necesita una llamada de función para verificar si el registrador está activo para el nivel del mensaje, luego una llamada de función para registrar realmente los datos.
Con algunas macros caseras (para agregar LINE & co. A los mensajes), log4cpp ha demostrado ser realmente útil en mi proyecto.
Desafortunadamente, no probé Boost.Log, así que no puedo hablar al respecto, pero espero que estos comentarios sigan siendo útiles para ti si eliges no usar Boost.Log.
Respuestas:
ACTUALIZACIÓN : Desde que se escribió esto, reemplacé Boost.Log con mi propio registro personalizado, principalmente porque decidí deshacerme de todas las dependencias de Boost en todos mis proyectos por varias razones. Si está de acuerdo con el uso de Boost, supongo que Boost.Log sigue siendo una opción válida a juzgar por la respuesta de Klaim .
Mi experiencia con Boost.Log en el año 2010 sigue.
He integrado con éxito Boost.Log en mi motor de juego y solo puedo hablar cosas buenas al respecto. Claro, es un poco temprano de usar, ya que la versión 2 será la versión real que se convertirá en el Boost.Log oficial.
Tenga en cuenta que la versión "1.0" disponible no se mantiene. Para recibir actualizaciones, debe utilizar la versión de última generación (tronco) que puede volverse inestable. Tenga esto en cuenta si va a utilizar esta versión en proyectos serios. Si no tiene miedo de usar versiones de vanguardia o futuras roturas, hágalo. Es realmente agradable de usar ya que está en su estado actual.
Durante mucho tiempo pensé que el sistema de registro jerárquico en log4j / log4cxx era superior, pero Boost.Log me hizo pensar lo contrario. El filtrado y los atributos son mucho más flexibles.
El diseño de sumideros separados por frontend / backend hace que sea realmente fácil agregar backends adicionales. No hay necesidad de preocuparse por problemas de sincronización o filtrado que se maneja en la interfaz. La biblioteca también viene con muchos backends, archivos rotativos, consola, syslog, registro de eventos de Windows, etc.
He escrito mis propios backends de fregadero; uno va a la consola del juego y otro a una especie de sistema de notificación para eventos más serios. Fue más fácil de lo que esperaba, lo tuve listo y funcionando en solo unos minutos.
Por último, pero no menos importante, el mantenedor / desarrollador también es muy útil. Obtendrá mucha ayuda en los foros del proyecto. Ha solucionado dos errores (de los cuales uno es importante) este fin de semana que informé :-)
fuente
ACTUALIZACIÓN: Estoy usando Boost.Log en un sistema de motor de juego y estoy muy contento con él. Es rápido, seguro para subprocesos y muy, muy flexible cuando lo necesita.
Boost.Log debería incluirse con todas las bibliotecas de Boost en una próxima versión de este año (2013).
Boost.Log está hecho para configurar un sistema de registro sobre él. Si lees la documentación, verás que es tan flexible que cualquier sistema de registro que puedas imaginar se puede construir con él (como iniciar sesión en una computadora distante).
Por lo tanto, existen macros para facilitar su uso en proyectos simples, pero creo que es el tipo de biblioteca que es útil principalmente para las personas que realmente entienden el registro y desean construir una arquitectura específica para su aplicación.
Sobre el rendimiento, recuerdo que hubo problemas en el envío que lo hicieron lento en comparación con otras bibliotecas de registro (menos flexibles), pero como era un borrador y la primera versión aún no ha salido, no me molestaría si no está codificando un aplicación de tiempo crítico.
Al final, creo que es simplemente demasiado "nuevo" para ser evaluado "ahora". No hay otra biblioteca de registro que sea tan flexible como esta y no estoy seguro de que mucha gente sienta la necesidad de usarla.
Actualización: un intercambio de correo electrónico reciente con el autor de Boost.Log arrojó algunos datos que sugieren que Boost.Log es claramente una excelente alternativa para el registro rápido.
fuente
Recientemente busqué implementar un sistema de registro en un proyecto que estaba comenzando.
Probé log4cxx como lo mencionas, de hecho es muy tedioso de instalar. Me tomó varias horas lograr que se compilara en VS2012 (con otras bibliotecas de dependencia ...), y luego se bloqueó cuando lo usé en mi proyecto. Ciertamente, están sucediendo algunas cosas extrañas con las discordancias de las bibliotecas estándar, pero no podía resolverlo.
Así que cambié a log4cpp, que lo puse en funcionamiento en solo unos minutos. Lo encuentro elegante y ligero, justo lo que necesitaba. Tiene la gran ventaja de tener las mismas características que el conocido log4j & co. sistemas de registro que pueden ser una verdadera ventaja para su trabajo en equipo (configuración a través del archivo de configuración, etc.)
En lo que respecta al rendimiento, se necesita una llamada de función para verificar si el registrador está activo para el nivel del mensaje, luego una llamada de función para registrar realmente los datos.
Con algunas macros caseras (para agregar LINE & co. A los mensajes), log4cpp ha demostrado ser realmente útil en mi proyecto.
Desafortunadamente, no probé Boost.Log, así que no puedo hablar al respecto, pero espero que estos comentarios sigan siendo útiles para ti si eliges no usar Boost.Log.
fuente