logback配置方式
阿新 • • 發佈:2018-11-06
logback.xml
<?xml version="1.0" encoding="UTF-8"?> <!-- scan:為true時,根據scanPeriod設定的時間來自動重新載入當前上下文配置(不指定時間單位時預設為毫秒) debug:為true時,輸出logback內部日誌資訊 --> <configuration scan="true" scanPeriod="10 seconds"> <!-- 上下文名稱 --> <contextName>test</contextName> <!-- 上下文屬性-變數,使用${}引用 --> <property name="logback.logs.path" value="C:/logback_log/logs/" /> <!-- 獲取時間戳 --> <timestamp key="timestamp" datePattern="yyyyMMdd"/> <!-- 控制檯日誌輸出器 --> <appender name="out-console" class="ch.qos.logback.core.ConsoleAppender"> <encoder charset="UTF-8"> <!-- %level:日誌級別 %date:日期輸出{輸出格式} %logger:日誌輸出位置 %msg:日誌輸出內容 %n:換行 ${timestamp}:獲取時間戳 --> <pattern> 日誌級別:%level,時間:%date{yyyy-MM-dd HH:mm:ss},出處:%logger,內容:%msg%n </pattern> </encoder> </appender> <!-- 滾動檔案日誌輸出器 --> <appender name="out-file" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 檔名稱 --> <fileNamePattern>${logback.logs.path}/logfile_%d{yyyyMMdd}.log</fileNamePattern> <!-- 日誌數量,超過15就清除 --> <maxHistory>15</maxHistory> </rollingPolicy> <encoder charset="UTF-8"> <pattern> 日誌級別:%level,時間:%date{yyyy-MM-dd HH:mm:ss},出處:%logger,內容:%msg%n </pattern> </encoder> </appender> <!-- 普通Logger:區域性配置 --> <!-- 當沒有指定level時,預設使用root的level級別 --> <logger name="com.test" level="DEBUG"> <!-- 使用以下輸出器 --> <appender-ref ref="out-console" /> <appender-ref ref="out-file" /> </logger> <!-- 根logger:全域性配置 --> <root level="INFO"> <!-- 使用以下輸出器 --> <appender-ref ref="out-console" /> <appender-ref ref="out-file" /> </root> </configuration>
使用
package com.td; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Main { static Logger logger = LoggerFactory.getLogger(Main.class); /** * 日誌常用級別輸出:error > warn > info > debug > all */ public static void main(String[] args) { logger.trace("Main-trace級別"); logger.debug("Main-debug級別"); logger.info("Main-info級別"); logger.warn("Main-warn級別"); logger.error("Main-error級別"); } }