在公司的項目中用logback作日誌輸出操做,一個logger日誌會同時顯示在界面,也會記錄到文件.經過仔細閱讀官方文檔,發現能夠在不影響界面的輸出狀況下改變文件的輸出級別.具體以下: app
<appender name="DEVICE_MESSAGE_DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>log/device/message.txt</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- rollover daily --> <fileNamePattern>log/device/message-%d{yyyy-MM-dd}.%i.txt</fileNamePattern> <maxHistory>10</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <!-- or whenever the file size reaches 100MB --> <maxFileSize>10MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n </pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <logger name="com.dongluhitec.card.hardware" level="INFO"> <appender-ref ref="DEVICE_MESSAGE_DEBUG"/> </logger>這樣logger仍是會接收info級別的日誌,但輸出到文件時,會過濾ERROR級別如下的日誌.