MyBatis中日誌

馬仔鑫發表於2020-12-24

MyBatis中日誌
1.日誌工廠

  • SLF4J
  • LOG4J
  • LOG4J2
  • JDK_LOGGING
  • COMMONS_LOGGING
  • STDOUT_LOGGING
  • NO_LOGGING

MyBatis中提供了七種日誌可供大家使用,我們需要掌握兩種日誌工具,便於我們日後排錯的好兄弟!

在MyBatis中具體使用哪一個日誌實現,在設定中設定!

在MyBatis核心配置檔案中進行配置!

1.STDOUT_LOGGING 日誌:

 <!--引入日誌配置,STDOUT_LOGGING為標準的日誌工廠模式-->
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>

注意點:

  • settings標籤中setting標籤中name屬性值I必須為英文大寫其餘為英文小寫。
  • settings標籤中setting標籤中name屬性值全為英文大寫切記!

2.LOG4J 日誌:
什麼是Log4j?

  • Log4j是Apache的一個開源專案,通過使用Log4j,我們可以控制日誌資訊輸送到目的地是控制檯、檔案、GUI元件。
  • 我們也可以控制每一條日誌的輸出格式。
  • 通過定義每一條日誌資訊的級別,我們能夠更加細緻地控制日誌生成過程。
  • 通過一個配置檔案來靈活地進行配置,而不需要修改應用程式碼。
    1.先匯入Log4j的Jar包
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

2.log4j.properties 配置檔案

# priority  :debug<info<warn<error
#you cannot specify every priority with different file for log4j
log4j.rootLogger=INFO,console,file,MAIL,DEBUG

#console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern= [%d{yyyy-MM-dd HH:mm:ss a}]:%p %l%m%n
#info log
log4j.logger.info=info
log4j.appender.info=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.info.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.info.File=./src/com/hp/log/info.log
log4j.appender.info.Append=true
log4j.appender.info.Threshold=INFO
log4j.appender.info.layout=org.apache.log4j.PatternLayout 
log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n
#debug log
log4j.logger.debug=debug
log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.debug.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.debug.File=./src/com/hp/log/debug.log
log4j.appender.debug.Append=true
log4j.appender.debug.Threshold=DEBUG
log4j.appender.debug.layout=org.apache.log4j.PatternLayout 
log4j.appender.debug.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n
#warn log
log4j.logger.warn=warn
log4j.appender.warn=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.warn.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.warn.File=./src/com/hp/log/warn.log
log4j.appender.warn.Append=true
log4j.appender.warn.Threshold=WARN
log4j.appender.warn.layout=org.apache.log4j.PatternLayout 
log4j.appender.warn.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n
#error
log4j.logger.error=error
log4j.appender.error = org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.error.File = ./src/com/hp/log/error.log 
log4j.appender.error.Append = true
log4j.appender.error.Threshold = ERROR 
log4j.appender.error.layout = org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n

3.配置log4j為日誌的實現

<!--引入日誌配置-->
    <settings>
        <setting name="logImpl" value="logImpl"/>
    </settings>

4.日誌級別:

log.info("info: 進入方法");
log.debug("debug: 進入方法");
log.error("error: 進入方法");

相關文章