c++ - 配置 log4cpp 日志记录级别优先级

标签 c++ logging log4cpp

在一个应用程序中,我们使用 log4cpp-0.3.5rc3 进行日志记录。该应用程序安装在 Linux 设备上。应用程序中存在错误,我想将应用程序的日志级别设置为调试,但无论如何我都找不到在远程设备上执行此操作。 在应用程序配置中,我找不到任何关于日志级别的信息:

log4cpp_include_dir_default=${system_lib_dir}/log4cpp/log4cpp-0.3.5rc3/include
log4cpp_include_dir=${log4cpp_include_dir_default}

AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [have GCC compile with symbols (default = no)]), enable_debug=$enableval, enable_debug=no)

是不是我必须使用调试配置构建应用程序并安装新版本以将日志级别设置为调试?我想知道 log4cpp 是否有类似 Java 中的 log4j 的日志记录配置文件,我们可以在其中轻松更改日志级别。

最佳答案

当然,log4cpp 使用 log4cpp.properties 文件来配置记录器。

此文件的路径将传递给 log4pp::PropertyConfigurator::configure(<path_to_file>)

当您配置记录器时(通常在应用程序启动时);因此,它可以存储在文件系统中的任何位置,因此您需要查看传入的路径才能找到该文件。

一个简单的示例属性文件:

log4cpp.rootCategor=DEBUG, A1 log4cpp.main=INFO, A1

# A1 is to the console

log4cpp.appender.A1=org.apache.log4j.ConsoleAppender log4cpp.appender.A1.layout=PatternLayout log4cpp.appender.A1.ImmediateFlush=true log4cpp.appender.A1.layout.ConversionPattern=Console %d [%t] %-5p %c - %m%n

关于c++ - 配置 log4cpp 日志记录级别优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49728575/

相关文章:

C++17 默认模板参数 : invalid use of template-name without an argument list

c++ - 如何使用提取运算符从 C++ 中的类的方法中获取多个值?

c++ - 使用 sscanf 检索整数

hibernate - 如何在 JHipster 中更改 hibernate 日志记录级别?

c - 解析 apache 日志文件的良好 C 库

c++ - 尝试写入 Log4cpp 流时调试断言失败

c++ - 如何使用 log4cpp 一次记录多个变量?

c++ - 无法在 QtCreator 中使用 GDB 进行调试

c++ - Log4cpp 重复记录日志

docker - 将Docker日志输出输出到Mac和Linux上的文件中