He estado intentando durante aproximadamente 2 semanas obtener una biblioteca de registro para trabajar. Intenté con Log4cxx, Log4cpp, log4cplus y boost.log. El problema no es que ninguno de estos funcione para mí, es que no puedo resolver cómo hacer que funcionen. Realmente me gustaría usar log4cxx ya que estoy trabajando con log4j/logback en el trabajo, pero no he podido obtener ninguna de las bibliotecas basadas en log4j para compilar. Pude crear y usar la biblioteca de impulso, pero boost.log me ofrece todo tipo de errores de vinculador, sin importar lo que intente. Si alguien pudiera dirigirme a una guía paso a paso para que funcione una de estas bibliotecas, la agradecería enormemente. Además, estoy usando eclipse como mi IDE si eso es importante.C++ Configuración de la biblioteca de registro
Respuesta
Recomendaría . La primera vez que se descarga se necesita algo de tiempo para compilar todo, escriba make build test
y almorzar, y debe seleccionar los flujos de salida (Pantheios los llama "back ends") en el momento del enlace, pero para la codificación es muy simple, p.
std::string name;
int age;
pantheios::log_DEBUG("name=", name, " age=", pantheios::integer(age));
Está diseñado desde el principio para velocidad - la edad no se convierte en una cadena a menos que el nivel "DEBUG" está encendido - y robustez - por lo que no se puede pasar tipos fundamentales directamente, y usar "inserters" (por ejemplo, pantheios::integer
). Ver this recent blog post por el autor de Pantheios para más información.
¿Alguna vez ha funcionado? Log4cxx definitivamente funciona en Win7. Tal vez podrías publicar algunos de tus errores de compilación. Solo adivinando, quizás no configuró su proyecto de eclipse para vincularlo con una log4cxx lib estática.
Boost.Log funciona bastante bien para mí (Linux y Windows). No es una biblioteca solo de encabezado, hay una parte compilada con la que debe establecer un vínculo. Vea las instrucciones here.
También depende de otros, no cabecera, bibliotecas Boost:
La biblioteca de registro utiliza varias otras bibliotecas Boost que necesitan edificio también. Estos son Boost.Filesystem, Boost.System, Boost.DateTime, Boost.Thread y Boost.Regex. Consulte su documentación para obtener instrucciones detalladas sobre el procedimiento de construcción.
Dependiendo de su plataforma, puede haber versiones preconstruidas de las bibliotecas de Boost. De lo contrario, construirlo usted mismo es sencillo si sigue las instrucciones. Si te quedas atascado, actualiza tu pregunta con el lugar exacto en el que te quedaste y lo que estás viendo.
Pude hacer que log4cxx funcionara, esto se hizo en Visual Studios 2013 ejecutándose en el sistema operativo Windows 7.
Esto que sigue es lo que hice, paso a paso:
descargar el paquete postal log4cxx extraer su contenido, http://logging.apache.org/log4cxx/download.html
Descargar APR y apr-util paquetes postales, http://apr.apache.org/download.cgi
Entonces
- extraer manualmente este zip apr-1.2.11-win32-src.postal (la carpeta extraída debería llamarse 'APR, si no se cambie el nombre manualmente ella)
- extraer manualmente este apr-util-1.2.10-win32-src.zip postal (la carpeta extraída debe ser nombrado 'apr-util', si no es de forma manual cambiarle el nombre)
- abra un símbolo del sistema y ejecute el siguiente: cd configurar Apache-log4cxx-0.10.0 (esto ejecutará configure.bat)
Necesitaremos deshabilitar el uso de APR ICONV y soporte de LDAP. Para hacerlo, vamos a añadir los siguientes archivos de forma manual:
- abierto apr-util \ include \ apu.hw. Busque la línea que comienza con "#define APU_HAVE_APR_ICONV". Cambia el valor a 0 y guarda.
- Abra apr-util \ include \ apr_ldap.hw. Busque la línea que comienza con "#define APR_HAS_LDAP" Cambie el valor a 0 y guárdelo.
Necesitamos construir el log4cxx.dll, para hacerlo, convierta * .dsw en * .cxproj.
- Ejecute Visual Studio 2013 y abra log4cxx.dsw.
- VS le preguntará si desea convertir todo. Simplemente haga clic en Sí. Puede haber algunas advertencias en el informe de migración, pero nada que deba evitar que se abra la solución.
> Los proyectos xml, apr y apr-util deben compilarse correctamente.
Si intenta compilar el proyecto log4cxx, la mayoría de las veces fallarán con cientos de errores. Esto se debe a un error en VC++ que se puede solucionar.
- Mover todas las macros fuera (encima) de la clase que se encuentran. LOG4CXX_LIST_DEF macro se utiliza para definir las clases. Todas las macros informadas en el error C2252 necesitarán salir de cualquier clase. Este también puede incluir definiciones móviles que se usan en la macro.
- A continuación, cambiar todo LoggingEvent :: conjunto de claves de conjunto de claves (esto ya no está anidada en una clase padre)
> Después de esto, el proyecto log4cxx debe ahora recopilar éxito en su máquina.
- 1. Biblioteca de registro para C
- 2. C++ biblioteca de configuración liviana
- 3. mejor biblioteca de registro para C++
- 4. registro en una biblioteca de C#
- 5. biblioteca de configuración incluyen caminos en C++
- 6. Biblioteca C++ para analizar el registro
- 7. Registro de objetos en la biblioteca estática
- 8. Configuración de registro de GWT
- 9. PHP buena biblioteca de registro?
- 10. viabilidad de la biblioteca de registro C++ para la captura asincrónica de datos de alto rendimiento?
- 11. Registro de la Biblioteca Empresarial no iniciando sesión en el Registro de Eventos desde ASP.NET
- 12. Archivo de configuración de registro de Python
- 13. Establecimiento de una 'categoría' en el registro de la biblioteca Enterprise .NET (para registro de eventos)
- 14. Registro en toda la biblioteca de clases sin referencias pasa
- 15. Impulsar la configuración de la biblioteca para Codeblocks
- 16. Cómo usar el registro de la biblioteca de la empresa en una acción personalizada de .NET
- 17. Excepciones no controladas en la biblioteca de clases C# para fines de registro
- 18. ¿Qué biblioteca de registro es mejor?
- 19. python2.7: configuración de registro con yaml
- 20. Registro de biblioteca empresarial + cadena de conexión dinámica
- 21. Windows Runtime: ¿Incluye una biblioteca de registro?
- 22. Registro de configuración en Play Framework al iniciar la autoprueba
- 23. Configuraciones de configuración diferentes por desarrollador para la biblioteca de clase C#
- 24. C++ diseño de contenedor de registro
- 25. Config SLF4J usando la biblioteca para usar la configuración LOG4J
- 26. versiones de la biblioteca estándar de C++
- 27. C# biblioteca de clases de localización
- 28. C++ Compatibilidad de biblioteca
- 29. Biblioteca de espectrogramas C++
- 30. Código fuente de la biblioteca C
¿Qué sistema operativo está utilizando? Además, asegúrese de compilar primero las bibliotecas y luego tomar los archivos de encabezado para incluirlos en su proyecto (la implementación se compilará en las bibliotecas ** one ** time para que no tenga que volver a compilar la enorme biblioteca varias veces) – RageD
Estoy usando Windows 7. No estoy seguro de qué quiere decir acerca de compilar y luego tomar los archivos de encabezado. Lo siento, soy nuevo en el uso de bibliotecas de terceros. Para impulsar al menos acabo de agregar el directorio raíz de refuerzo como una ruta de inclusión y luego uso una directiva de inclusión para cada archivo que necesito. – Shenlong55