根据PatternLayout类的log4j文档,它具有以下片段:
在上面的示例中,转换说明符%-5p表示应将日志记录事件的优先级设置为5个字符的宽度。
我只想用一个字符作为日志优先级标识符,例如“ DEBUG”变成“ D”,“ ERROR”变成“ E”,等等。
为了尝试实现此目的,我创建了以下PatternLayout:
consoleAppender.setLayout(new PatternLayout("%d{[dd/MM/yyy HH:mm:ss]} :: [%1p] :: %C{1} : %M :: %m%n"));
上面的代码为我提供了以下日志记录格式:
[22/11/2013 09:18:54] :: [INFO] :: RAMJobStore:初始化:: RAMJobStore初始化。
我特别在做错什么吗?除非在log4j 1.2.16中破坏了此功能,否则文档似乎使此听起来很简单。
最佳答案
如果使用EnhancedPatternLayout,则可以使用新的模式令牌来实现:%level{length=1}
。
您的模式:
%d {[dd / MM / yyy HH:mm:ss]} :: [%level {length = 1}] ::%C {1}:%M ::%m%n
Online test for this pattern