【问题标题】:How to configure settings for logback using java class instead of xml file如何使用 java 类而不是 xml 文件配置 logback 的设置
【发布时间】:2018-11-09 08:10:46
【问题描述】:

我是 Log 主题的新手,并尝试使用 logback 在我的应用程序中记录必要的信息。我在互联网上发现我可以使用这样的 xml 文件配置日志:

<springProfile name="production, staging">
        <appender name="debugLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <encoder>
                <pattern>%d %-5level %logger{36} - %msg %n</pattern>
            </encoder>
            <file>logs/service-debug.log</file>

            <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
                <fileNamePattern>logs/service-debug.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
                <minIndex>1</minIndex>
                <maxIndex>3</maxIndex>
            </rollingPolicy>

            <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                <maxFileSize>100MB</maxFileSize>
            </triggeringPolicy>

            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>DEBUG</level>
            </filter>
        </appender>

        <appender name="errorLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <encoder>
                <pattern>%d %-5level %logger{36} - %msg %n</pattern>
            </encoder>
            <file>logs/service-error.log</file>

            <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
                <fileNamePattern>logs/service-info.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
                <minIndex>1</minIndex>
                <maxIndex>3</maxIndex>
            </rollingPolicy>

            <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                <maxFileSize>10MB</maxFileSize>
            </triggeringPolicy>

            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>ERROR</level>
            </filter>
        </appender>

        <root level="DEBUG">
            <appender-ref ref="debugLogAppender" />
            <appender-ref ref="errorLogAppender" />
        </root>
</springProfile>

我想在两个单独的文件中记录 DEBUG 级别和 ERROR 级别。我已经使用此配置进行了测试,并且成功了!

但我的问题是,我可以使用 Java 类而不是像这样的 xml 文件进行相同的配置。因为我的想法是我想从外部控制日志配置,也可以通过向我的应用程序发送 REST 服务来更改日志设置,例如:更改日志文件的名称,或更改日志模式......

那我怎么能用纯Java类呢?

非常感谢您!

【问题讨论】:

    标签: java logback slf4j spring-logback


    【解决方案1】:

    我建议阅读有关 logback 的内容,如果我没记错的话,它可以让您通过更改 xml 文件(自动重新加载)或通过网络挂钩来修改日志记录配置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-31
      • 2015-09-05
      • 1970-01-01
      • 2016-06-09
      • 2011-12-19
      • 2016-07-28
      相关资源
      最近更新 更多