首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Log4j模式布局%p标记不工作

Log4j模式布局%p标记不工作
EN

Stack Overflow用户
提问于 2013-11-22 09:26:08
回答 2查看 696关注 0票数 2

根据关于log4j类的PatternLayout文档,它有以下代码段:

在上面的例子中,转换说明符%-5p意味着日志事件的优先级应该保留为5个字符的宽度。

我只想有一个字符作为日志优先级标识符,比如"DEBUG“变成"D","ERROR”变成"E“等等。

为了实现这一点,我创建了以下PatternLayout:

代码语言:javascript
复制
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 : initialized ::RAMJobStore initialized。

我是不是做错了什么事?文档似乎使这听起来很简单,除非在log4j 1.2.16中这个功能被破坏了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-22 00:45:09

如果使用EnhancedPatternLayout,就会有新的模式令牌来实现这一点:%level{length=1}

你的模式:

%d{dd/MM/yyy :mm:ss}:%级别{length=1}:%C{1}:%M:%m%%n

此模式的在线测试

票数 1
EN

Stack Overflow用户

发布于 2013-11-22 09:31:14

它没坏。

您正在尝试在一个字符的字段中写入优先级。在您的情况下,优先级的值是"INFO",这是一个四个字母的字符串。

文件上说:

如果数据项大于最小字段宽度,则扩展字段以容纳数据。

因此,您要求在一个字符为1的字段中设置格式,但它扩展到了4。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20141258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档