【问题标题】:How to set log level for jmxtrans如何为 jmxtrans 设置日志级别
【发布时间】:2015-05-13 09:37:36
【问题描述】:

我正在使用类似这样的命令行运行 jmxtrans:

java -Djmxtrans.log.level=10 -jar jmxtrans-249-SNAPSHOT-all.jar -e -f queues4.json -s 5

我已尝试更改日志级别的以下设置:

-Djmxtrans.log.level=10
-Djmxtrans.log.level=0
-Djmxtrans.log.level=INFO
-Djmxtrans.log.level=ERROR

这些似乎都不会影响 STDOUT 日志,并且似乎卡在调试级别。有没有办法改变日志级别?对文档的任何参考都会有所帮助。 我看过:

https://github.com/jmxtrans/jmxtrans/wiki/MoreExamples

但找不到控制日志记录的配置。

【问题讨论】:

    标签: logging jmxtrans


    【解决方案1】:

    对于任何在谷歌搜索后结束的人:由于 jmxtrans 中 slf4j、log4j 和 logback 的依赖关系冲突,日志当前在 jmxtrans 中损坏。

    https://github.com/jmxtrans/jmxtrans/issues/215

    解决此问题的一种方法是将 logback.xml 文件插入到 jmxtrans jar 文件的根目录中:

    <property name="logs-folder" value="${catalina.base}/logs"/>
    
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${jmxtrans.log.dir}/jmxtrans.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <fileNamePattern>${jmxtrans.log.dir}/jmxtrans_%d{yyyy-MM-dd}.%i.log</fileNamePattern>
    
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!-- or whenever the file size reaches 300MB -->
                <maxFileSize>300MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!-- keep 30 days' worth of history -->
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%date %level [%thread] %logger{36} [%file:%line] %msg%n</pattern>
        </encoder>
    </appender>
    
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%date %-5level [%thread] %-36logger{36} [%file:%line][%method] %msg%n</Pattern>
        </layout>
    </appender>
    
    
    <logger name="com.googlecode.jmxtrans" level="${jmxtrans.log.level}"/>
    <logger name="org.quartz" level="WARN"/>
    
    <root level="DEBUG">
        <appender-ref ref="FILE"/>
        <appender-ref ref="STDOUT"/>
    </root>
    

    请注意,我在日志中添加了滚动策略(您可以将其删除并改用 Linux logrotate 实用程序)。

    【讨论】:

    • 感谢您的回答。没有尝试过,但对我来说看起来是正确的。我会尝试确认。你是对的,这是 jmxtrans 中的一个开放错误。
    猜你喜欢
    • 2020-05-11
    • 2018-05-31
    • 2015-08-03
    • 2023-03-18
    • 1970-01-01
    • 2018-07-18
    • 1970-01-01
    • 2012-05-04
    • 2017-10-01
    相关资源
    最近更新 更多