開發(fā)luminus項(xiàng)目時, mongodb driver的log太多,簡直讓人崩潰。

console上不斷的出現(xiàn)mongodb driver給出的logging信息, 大概每幾秒鐘就出現(xiàn)好幾條:

2021-03-02 14:47:56,185 [cluster-ClusterId{value='603ddf41dbbc8d41dd3d519d', description='null'}-localhost:27017] DEBUG org.mongodb.driver.protocol.command - Execution of command with request id 13 completed successfully in 1.94 ms on connection [connectionId{localValue:1, serverValue:25}] to server localhost:27017 

一開始還能忍,但當(dāng)我需要自己做一些log時, 我自己的log被這些東西淹沒, 我就感覺整個世界不好了。

這些信息到底從哪里來的? 研究一番,發(fā)現(xiàn)是clojure.tools.logging 打出來的。 查clojure.tools.logging文檔,說“如果您想修改具體的配置, 就不是我的事兒了, 因?yàn)檫@依賴于底層實(shí)現(xiàn)?!?WTF。

再一番周折, 終于最后搞明白了, 修改這些文件, 可以改變logging的配置:

  • <my.app.project>/env/prod/resources/logback.xml
  • <my.app.project>/env/dev/resources/logback.xml
  • <my.app.project>/env/test/resources/logback.xml

修改方法: 添加一項(xiàng):
<logger name="org.mongodb.driver.protocol.command" level="warn" />

修改后, 我的dev/resources/logback.xml為:

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="10 seconds">
    <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!-- encoders are assigned the type
             ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
        <encoder>
            <charset>UTF-8</charset>
            <pattern>%date{ISO8601} [%thread] %-5level %logger{36} - %msg %n</pattern>
        </encoder>
    </appender>
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>log/hunxuetang.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>log/hunxuetang.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>100MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <!-- keep 30 days of history -->
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder>
            <charset>UTF-8</charset>
            <pattern>%date{ISO8601} [%thread] %-5level %logger{36} - %msg %n</pattern>
        </encoder>
    </appender>
    <logger name="org.apache.http" level="warn" />
    <logger name="org.xnio.nio" level="warn" />
    <logger name="org.mongodb.driver.cluster" level="warn" />
    <logger name="org.mongodb.driver.protocol.command" level="warn" /> <!-- 這是我加的 -->
    <logger name="io.undertow.websockets.core.request" level="warn" />
    <logger name="io.undertow.request" level="warn" />
    <logger name="io.undertow.session" level="warn" />
    <logger name="io.undertow.request" level="warn" />
    <root level="DEBUG">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </root>
</configuration>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容