什么是日志
日志技術
可以將系統執行信息,方便的記錄到指定位置(控制臺,文件中,數據庫中)
可以隨時可以開關的形式控制日志的啟停,無需侵入到源代碼中去進行修改
LogBack日志框架
LogBack快速入門
logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration><!--CONSOLE :表示當前的日志信息是可以輸出到控制臺的。--><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><!--輸出流對象 默認 System.out 改為 System.err--><target>System.out</target><encoder><!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符--><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %c [%thread] : %msg%n</pattern></encoder></appender><!-- File是輸出的方向通向文件的 --><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern><charset>utf-8</charset></encoder><!--日志輸出路徑--><file>D:/log/myjavaseproject147/day16-special-io.log</file><!--指定日志文件拆分和壓縮規則--><rollingPolicyclass="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><!--通過指定壓縮文件名稱,來確定分割文件方式--><fileNamePattern>D:/log/myjavaseproject147/day16-special-io-%i-%d{yyyy-MM-dd}-.log.gz</fileNamePattern><!--文件拆分大小--><maxFileSize>1MB</maxFileSize></rollingPolicy></appender><!--1、控制日志的輸出情況:如,開啟日志,取消日志--><root level="debug"><appender-ref ref="CONSOLE"/><appender-ref ref="FILE" /></root>
</configuration>
Test.java
public class Test {//1.創建一個lockback框架的Logger日志對象,來記日志private static final Logger log = LoggerFactory.getLogger("Test.class");public static void main(String[] args) {// 除法try {log.info("chu 開始執行");chu(10, 2);log.info("chu 執行成功");} catch (Exception e) {
// e.printStackTrace();log.error("chu 執行失敗了:" + e.getMessage());}}private static void chu(int a, int b) {log.debug("參數 a:", a);log.debug("參數 c:", c);int c = a/b;log.info("結果 c:", c);}
}
Logback設置日志級別