【问题标题】:How to set log format by level?如何按级别设置日志格式?
【发布时间】:2021-11-03 08:31:18
【问题描述】:

我使用的不仅仅是调试级别。也就是说,debug,info,warn,error 在 scrren 中打印出来
我想在 logback.xml 中按日志级别制作不同的格式

调试级别的格式是%-5level:%msg%n
信息级别的格式为%-5level.%d{yyyy-MM-dd HH:mm:ss}:%msg%n

是否可以按级别制作不同的格式(debug,info....)?

这是我的 logback.xml。

<configuration scan="true" scanPeriod="30">
 <!--debug level format-->
 <appender name="STDOUT_DEBUG" class="ch.qos.logback.core.ConsoleAppender">
    <target>System.out</target>
    <encoder>
        <pattern>%-5level:%msg%n</pattern>
    </encoder>
 <!--info level format-->
 <appender name="STDOUT_INFO" class="ch.qos.logback.core.ConsoleAppender">
    <target>System.out</target>
    <encoder>
        <pattern>%-5level.%d{yyyy-MM-dd HH:mm:ss}:%msg%n</pattern>
    </encoder>
</appender>

<!-- I don't know How to set-->

</configuration>

【问题讨论】:

  • 我认为你的 XML 缺少 &lt;/appender&gt;
  • 谢谢。我忘了添加 。

标签: java logging logback


【解决方案1】:

您可以编写 custom layout 扩展 LayoutBase 以获得最大的灵活性。

需要重写doLayout方法的代码

public String doLayout(ILoggingEvent event) {
    switch (event.getLevel()) {
        ... // Your logic here
    }
}

【讨论】:

  • 我试过了。它运作良好。谢谢
猜你喜欢
  • 2020-05-11
  • 2015-06-04
  • 2018-07-18
  • 1970-01-01
  • 1970-01-01
  • 2012-05-04
  • 2017-10-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多