【问题标题】:Disable Logger in a .jar java library在 .jar java 库中禁用 Logger
【发布时间】:2016-03-16 14:21:58
【问题描述】:

如何禁用java程序中使用的java库(jar)的记录器(打印输出)?

例如我使用 jar joda-time-2.8.2.jar

我应该在我的 logback.xml 文件中添加什么来禁用 jar 的控制台输出

logback.xml:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
        <Target>System.out</Target>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n</pattern>
        </encoder>
    </appender>
    <logger name="com.paper.white" additivity="false" level="TRACE">
        <appender-ref ref="stdout" />
    </logger>
    <root level="WARN">
        <appender-ref ref="stdout" />
    </root>
</configuration>

【问题讨论】:

    标签: java xml logging spring-boot


    【解决方案1】:

    只需为org.joda.time 创建一个记录器并将级别设置为OFF

    <logger name="org.joda.time" level="OFF" >
        <appender-ref ref="stdout"/>
    </logger>
    

    【讨论】:

    • 不工作我有日志。当我反编译我的 jar 时,我看到一个 System.out.println(...); 可以停用?
    • 您只能“重定向”所有控制台输出。看这里stackoverflow.com/questions/9882487/…
    • 我在哪里定义这个?我创建了一个新类
    • 您应该尽早在代码中调用System.setOut(...)。但请注意,您的所有 logback 配置都将毫无意义,因为您只有一个 stdout 附加程序(也将被重定向)。所以,如果这只是一个装饰性的东西,并且额外的日志行不会影响性能或使您的日志混乱,我不会走这条路。
    猜你喜欢
    • 2019-02-16
    • 1970-01-01
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    • 2018-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多