简体   繁体   English

Log4j中日志级别的不同布局

[英]Different Layouts for Log Levels in Log4j

I am using Log4j and I want to log with different log levels. 我正在使用Log4j,我想用不同的日志级别登录。 It would be nice, if I could use a custom Layout for every Log Level, or just have one logger that logs only the log message without any formatting. 如果我可以为每个日志级别使用自定义布局,或者只有一个记录器只记录日志消息而没有任何格式,那就太好了。 I don't really know how to do that, so I would be glad if any of you guys could give me some hints about it. 我真的不知道该怎么做,所以如果你们中的任何人能给我一些提示,我会很高兴的。

Here's my log4j.properties: 这是我的log4j.properties:

# Root Logger
log4j.rootLogger=DEBUG, console, file

# Appender to Console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%p] - %m%n

# Appender to Log-File
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.Append=false
log4j.appender.file.File=adsync.log

log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p] %d{yyyy-MM-dd HH:mm:ss} - %m%n

Its easy to implement a new Layout according to your requirement. 它可以根据您的要求轻松实现新的布局。 You can either extend any of the existing layout or create a new one itself. 您可以扩展任何现有布局或自行创建新布局。

You then write your own implementation of format(LoggingEvent event) in LayOut, At this point you get to know the log level from the LoggingEvent and change the format accordingly. 然后在LayOut中编写自己的格式实现(LoggingEvent事件),此时您将从LoggingEvent了解日志级别并相应地更改格式。

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

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