根据日志级别缩进log4j消息

时间:2013-09-13 05:39:20

标签: java log4j indentation

是否可以log4j配置为自动缩进与消息日志级别成比例的消息?我需要得到这样的输出:

    [2013-09-13 09:38:24,638]  INFO - Processing graph nodes...
    [2013-09-13 09:38:24,640] DEBUG -   Processed node 1...
    [2013-09-13 09:38:24,646] DEBUG -   Processed node 2...
    [2013-09-13 09:38:24,649] DEBUG -   Processed node 3...
    [2013-09-13 09:38:25,948]  INFO - Processed 3 node(s)

3 个答案:

答案 0 :(得分:3)

我认为你不能通过配置来做到这一点。但是你应该能够通过实现一个了解如何实现缩进方案的自定义Layout类来实现。然后通过配置文件将其添加到您的appender中,所有日志消息都将按照您希望的格式进行格式化。

答案 1 :(得分:0)

不确定log4j是否提供任何此类设置。但是你总是可以编写一个包装器方法,它将字符串消息和日志级别作为输入,并在其中使用switch语句对不同级别进行不同的修改。

答案 2 :(得分:0)

下面的链接很旧,但是可以正常工作。它扩展了Layout类,但有助于在相似的行上扩展PatternLayout类。

https://github.com/zepheira/tracer