配置 log4cpp 日志级别优先级

Posted

技术标签:

【中文标题】配置 log4cpp 日志级别优先级【英文标题】:Configuring log4cpp Logging level Priority 【发布时间】:2018-04-09 08:29:00 【问题描述】:

在一个应用程序中,我们使用 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,我们可以在其中轻松更改日志级别。

【问题讨论】:

【参考方案1】:

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

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

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

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

log4cpp.rootCategor=调试,A1 log4cpp.main=信息,A1

#A1 到控制台

log4cpp.appender.A1=org.apache.log4j.ConsoleAppender log4cpp.appender.A1.layout=图案布局 log4cpp.appender.A1.ImmediateFlush=true log4cpp.appender.A1.layout.ConversionPattern=控制台 %d [%t] %-5p %c - %m%n

【讨论】:

以上是关于配置 log4cpp 日志级别优先级的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统日志的优先级别!

Linux系统日志级别

日志配置详解

Log4j 2, 按级别打印到不同日志文件

SpringCloud http客户端Feign -- 自定义Feign的配置(一般情况下需要配置的是日志级别)Feign的配置优化

Log4j的日志级别分析(转)