java - 如何为不同的appender配置log4j

标签 java logging log4j

我尝试为不同的输出层配置log4j.properties。

例如:

  • 仅在控制台显示 WARN 级别。
  • 将 INFO 级别写入日志文件。

我试图找到正确的解决方案。我发现当你写一些关于你想要的包的信息级别时:

log4j.logger.your.package.name=DEBUG

它将调试记录器打印到控制台和文件。

这里是log4j.properties的内容:

# Root logger option
log4j.rootLogger=WARN, stdout, file 

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.conversionPattern=%d{ABSOLUTE} %5p %t %c{1}:%M:%L - %m%n 

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.file=logs/myapp_test.log
log4j.appender.file.MaxFileSize=2MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.conversionPattern=%d{ABSOLUTE} %5p %t %c{1}:%M:%L - %m%n 

log4j.logger.com.my.lab=DEBUG
  • 如何为文件和控制台配置不同的输出层?

最佳答案

您可以为文件和控制台 Appender 设置不同的日志记录级别:

# Root logger option
log4j.rootLogger=INFO, stdout, file 

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.conversionPattern=%d{ABSOLUTE} %5p %t %c{1}:%M:%L - %m%n 

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.file=logs/myapp_test.log
log4j.appender.file.MaxFileSize=2MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.conversionPattern=%d{ABSOLUTE} %5p %t %c{1}:%M:%L - %m%n 


# Set the logger level of Console Appender to WARN
log4j.appender.stdout.Threshold = WARN

另请参阅this链接

关于java - 如何为不同的appender配置log4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20421124/

相关文章:

java - 在共享文件夹上托管 MySQL

java - 如何在每个java Restful服务中使用一个apache Camel上下文对象

entity-framework - 使用 Entity Framework 记录每个数据更改

python - 如何使用 Python 日志记录收集 App Engine 请求的日志?

java - log4j.xml 将滚动文件移动到另一个目录/位置?

java - Log4j 中的字符串连接性能

java - Android 中的 Cloudant 同步

java - 如何从 String[] 数组填充 Point[] 数组?

java - 捕获 Java EE Web 应用程序中的每个异常

java - 我想通过log4j记录STORM日志并将日志发送到kafka。结果是kafka STORM可以自己记录日志log4j但不能发送日志到kafka