最近在寫一個(gè)簡(jiǎn)單的java命令行程序,執(zhí)行代碼時(shí),代碼窗口出現(xiàn)了煩人的debug日志。
分析了一下,出現(xiàn)這種問題的原因是因?yàn)?,maven項(xiàng)目的依賴包中傳遞依賴了一些日志框架,導(dǎo)致會(huì)出現(xiàn)日志內(nèi)容的打印。查看了一下,我的項(xiàng)目是依賴了logback,所以解決這個(gè)問題的辦法是把logback的配置文件配置一下,覆蓋掉默認(rèn)的就可以了。
因此,在main/resources下面建立logback.xml,問題解決。下面是簡(jiǎn)單的logback代碼
<?xml version="1.0"?>
<configuration>
<!-- ch.qos.logback.core.ConsoleAppender 控制臺(tái)輸出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder charset="UTF-8">
<pattern>[%-5level] %d{HH:mm:ss.SSS} [%thread] %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- 日志級(jí)別 -->
<root>
<level value="info" />
<appender-ref ref="console" />
</root>
</configuration>
也可是是復(fù)雜一點(diǎn)的,如下面所示,問題解決。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- ch.qos.logback.core.ConsoleAppender 控制臺(tái)輸出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder charset="UTF-8">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- ch.qos.logback.core.rolling.RollingFileAppender 文件日志輸出 -->
<appender name="INFO"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/data/javalogs/guide_info.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/data/javalogs/guide_info.%d{yyyy-MM-dd}-%i.log</fileNamePattern>
<maxHistory>30</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<MaxFileSize>50MB</MaxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- ch.qos.logback.core.rolling.RollingFileAppender 異常日志輸出 -->
<appender name="ERROR"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/data/javalogs/guide_error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/data/javalogs/guide.%d{yyyy-MM-dd}-%i.log</fileNamePattern>
<maxHistory>30</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<MaxFileSize>50MB</MaxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!--打印info級(jí)別的日志-->
<logger name="infoLog" level="info" additivity="false">
<appender-ref ref="INFO" />
<appender-ref ref="STDOUT" />
</logger>
<!--打印異常錯(cuò)誤日志-->
<logger name="errorLog" level="error" additivity="false">
<appender-ref ref="ERROR" />
</logger>
<!-- 日志級(jí)別 -->
<root level="info">
<appender-ref ref="INFO" />
<appender-ref ref="STDOUT" />
</root>
</configuration>