简体   繁体   English

如何设置jmxtrans的日志级别

[英]How to set log level for jmxtrans

I am running jmxtrans using command line with something like this: 我正在使用类似以下内容的命令行运行jmxtrans:

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

I have tried changing the following settings for log level: 我尝试更改以下日志级别设置:

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

None of these seem to effect the STDOUT logs and it seems to be stuck at Debug level. 这些似乎都不会影响STDOUT日志,而且似乎停留在调试级别。 Is there any way to change the log level? 有什么办法可以更改日志级别? any reference to documentation will be helpful. 任何有关文档的参考都将有所帮助。 I have looked at: 我看了看:

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

but can't find a configuration to control logging. 但找不到控制日志记录的配置。

For anyone ending up here after a google search: Log currently is broken in jmxtrans because of conflicting dependencies of slf4j,log4j and logback in jmxtrans. 对于在google搜索后最终在这里结束的任何人:由于slf4j,log4j和jmxtrans中的logback的依赖性相互冲突,因此jmxtrans中的当前日志已损坏。

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

One way to fix this is to insert a logback.xml file into the root of the jmxtrans jar file: 解决此问题的一种方法是将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>

Note that I added a rolling policy to the log (You can remove it and use the Linux logrotate utility instead). 请注意,我在日志中添加了滚动策略(您可以将其删除,而改用Linux logrotate实用程序)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM