參考博客:http://www.reibang.com/p/b3dedb8fb61e
在實(shí)際開發(fā)過程中拉庶,我們會用到打印日志文件。這個(gè)時(shí)候logBack就可以派上用場了,而且logBack也是非常強(qiáng)大的功能。有什么問題也可以直接查看參考博客的內(nèi)容。我這里直接引入我配置文件內(nèi)容
<?xml version="1.0" encoding="UTF-8"?>
<!-- 定期掃描文件配置是否變化贩绕,不要輸出logback文件信息 -->
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 定義參數(shù)常量 -->
<!-- TRACE<DEBUG<INFO<WARN<ERROR -->
<!-- logger.trace("msg") logger.debug... -->
<property name="log.level" value="debug" />
<property name="log.maxHistory" value="30" />
<property name="log.filePath" value="${catalina.base}/logs/webapps" />
<property name="log.pattern"
value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n" />
<!-- 控制臺設(shè)置 -->
<appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- DEBUG -->
<appender name="debugAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 文件路徑 -->
<file>${log.filePath}/debug.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 文件名稱 -->
<fileNamePattern>${log.filePath}/debug/debug.%d{yyyy-MM-dd}.log.gz
</fileNamePattern>
<!-- 文件最大保存歷史數(shù)量 -->
<maxHistory>${log.maxHistory}</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>DEBUG</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- INFO -->
<appender name="infoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 文件路徑 -->
<file>${log.filePath}/info.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 文件名稱 -->
<fileNamePattern>${log.filePath}/info/info.%d{yyyy-MM-dd}.log.gz
</fileNamePattern>
<!-- 文件最大保存歷史數(shù)量 -->
<maxHistory>${log.maxHistory}</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- ERROR -->
<appender name="errorAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 文件路徑 -->
<file>${log.filePath}/erorr.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 文件名稱 -->
<fileNamePattern>${log.filePath}/error/error.%d{yyyy-MM-dd}.log.gz
</fileNamePattern>
<!-- 文件最大保存歷史數(shù)量 -->
<maxHistory>${log.maxHistory}</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<logger name="com.tzf.o2o" level="${log.level}" additivity="true">
<appender-ref ref="debugAppender"/>
<appender-ref ref="infoAppender"/>
<appender-ref ref="errorAppender"/>
</logger>
<!-- consoleAppender 控制臺在打印時(shí),會打印 DEBUG<INFO<WARN<ERROR 上的所有日志信息-->
<root level="info">
<appender-ref ref="consoleAppender"/>
</root>
</configuration>
實(shí)例:文件信息
運(yùn)行程序壶愤,查看日志信息
信息1淑倾,3為我們查看info信息,在這里有一個(gè)疑問征椒?當(dāng)我打印日志debug信息時(shí)娇哆,為什么會連我們運(yùn)行代碼的sql信息也打印出來呢?
因?yàn)樵趍ybatis中,默認(rèn)也會調(diào)用logback迂尝。并且com.tzf.o2o.dao.AreaDao也同樣屬于com.tzf.o2o文件下 所有也會打印這個(gè)文件夾下面的日志信息脱茉。