log4cplus - 如何让 log4cplus 将不同级别记录到文件和标准输出?

标签 log4cplus

我想将 TRACE 消息记录到 LogFile,将 INFO 消息记录到 stdout。我还想将特定记录器“SomeLogger”限制为 DEBUG。

我的 log4cplus.properties 文件如下,但我没有将 SomeLogger 消息发送到标准输出。关于如何解决这个问题有什么建议吗?

### log4cplus.properties
# root logger
log4cplus.rootLogger=TRACE, LogFile, stdout

# specific logger
log4cplus.logger.SomeLogger=DEBUG, LogFile
log4cplus.additivity.SomeLogger=false

# appender that automatically rolls files
log4cplus.appender.LogFile=log4cplus::RollingFileAppender
log4cplus.appender.LogFile.File=/home/ken/logs/log4cplus.log
log4cplus.appender.LogFile.Append=true
log4cplus.appender.LogFile.MaxBackupIndex=9
log4cplus.appender.LogFile.MaxFileSize=50MB
log4cplus.appender.LogFile.layout=log4cplus::PatternLayout
log4cplus.appender.LogFile.layout.ConversionPattern=%D{%H:%M:%S %Q} %-4r %-5p T%T |%c{2}| %M.%L %x - %m %n

# Direct log messages to stdout
log4cplus.appender.stdout=log4cplus::ConsoleAppender
log4cplus.appender.stdout.Target=System.out
log4cplus.appender.stdout.Threshold=INFO
log4cplus.appender.stdout.layout=log4cplus::PatternLayout
log4cplus.appender.stdout.layout.ConversionPattern=%D{%H:%M:%S.%q} %-5p %m%n

最佳答案

配置中的 log4cplus.additivity.SomeLogger=false 行意味着登录到 SomeLogger 的任何内容都不会在层次结构中进一步传播,即 rootLogger.

关于log4cplus - 如何让 log4cplus 将不同级别记录到文件和标准输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13495640/

相关文章:

c++ - 使用 RollingFileAppender 时是否需要显式释放内存?

使用log4cplus时可以使用printf格式吗?

c++ - Log4Cplus加载配置文件

c++ - GCC 中包含文件的更详细模式

linux - log4cplus RollingFileAppender 不创建新文件

c++ - 如何在 log4cplus 中实现异步日志记录

c++ - FileAppender 的 Log4cplus char* 和 tstring 问题

c++ - 如何在 log4cplus 中添加自定义过滤器?

c++ - 为 Windows x64 构建 log4cplus

log4cplus不打印文件名和行号