简体   繁体   English

如何为不同的附加程序配置log4j

[英]how to configure log4j for different appenders

I tried to configure log4j.properties for different output layer. 我尝试为不同的输出层配置log4j.properties。

For example: 例如:

  • show at console only WARN level. 仅在控制台WARN级别显示。
  • write INFO level to log file. 将INFO级别写入日志文件。

I tried to find right solution. 我试图找到正确的解决方案。 I found that when you write some info level about your desired package as: 我发现当您将所需软件包的信息级别写为:

log4j.logger.your.package.name=DEBUG log4j.logger.your.package.name = DEBUG

It prints debug loggers to console and file. 它将调试记录器打印到控制台和文件。

Here content of log4j.properties : 这是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
  • How to configure different output layer for file and console? 如何为文件和控制台配置不同的输出层?

You can set different logging level for File & Console Appender as 您可以为File&Console 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

also refer this link 也请参考链接

You can define a threshold: 您可以定义一个阈值:

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

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold = WARN
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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM