当前位置: 首页 > 知识库问答 >
问题:

如何按级别设置日志格式?

秦斌
2023-03-14

我正在使用超过调试级别的代码。换句话说,调试、信息、警告、错误在scrren中打印出来
我希望在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>

共有1个答案

慕弘义
2023-03-14

您可以编写扩展LayoutBase的自定义布局,以获得最大的灵活性。

您需要重写Dolayout方法的代码

public String doLayout(ILoggingEvent event) {
    switch (event.getLevel()) {
        ... // Your logic here
    }
}
 类似资料:
  • 问题内容: 我目前正在使用log4j的项目中。我正在运行一个测试用例(junit),并希望将日志级别设置为跟踪,以便我可以查看所有值是否正确。在项目中使用日志记录的类包含如下一行: 并使用类似这样的命令进行实际调试 我以前从未使用过log4j,有人知道我该如何仅为测试用例更改日志级别,最好仅通过在Eclipse的运行配置对话框中定义一个参数即可。 问题答案: 使用另一个配置文件 也许您可以指向另一

  • 我在spring应用程序中使用log4j2作为我的日志工具。我想为特定的库/包设置不同于根目录的日志级别。例如,我希望< code>org.springframework为INFO,而< code>com.google为WARN。我在< code>log4j2.properties中找到了这个: 我不明白是什么意思?我一直在log4j2文档中找到它,但没有解释那是什么或意味着什么。 如何为特定包添

  • 我想更改quarkus应用程序的日志级别,在我可以找到任何引用的地方,它都指向application.properties文件。 我需要任何额外的扩展来让它工作吗? 我读过这个问题,但对我不起作用。我真的不知道,我从Quarkus bootstrap创建了一个简单的应用程序,但我仍然有同样的行为。

  • 我想更改我的Quarkus应用程序的日志记录级别。 如何从配置文件或运行时执行此操作?

  • 我使用的是WebLogic10.3.6,我不能用给定的logback.xml为2个不同的追加器(com.my&root)控制不同的日志级别,我只希望文件追加器有跟踪级别,而在Weblogic终端下没有任何跟踪级别。问题是我在这两个方面得到相同的输出。

  • 使用log4j1,我能够控制单个日志记录程序级别,但属性语句似乎不能使用log4j2。我将rootLogger级别设置为DEBUG,并希望通过commons-logging抑制来自authorize.NET的大量调试日志。我正在尝试设置级别,以从http头和有线日志发出警告。 下面是详细配置记录器的log4j文档(参见“配置log4j”) 这是一个示例日志输出: 这是我当前的log4j2.prop

  • 我在我的应用程序中使用Jetty http客户端。我也在使用带有logback的SLF4J。 如何将Jetty的总体日志记录级别设置为Info?

  • 我知道如何通过环境变量和应用程序属性设置日志级别。 我尝试定义一个非惰性bean来向环境中添加一个新的;调用了该方法,但它没有效果。