1. 程式人生 > 其它 >ssm-mybatis日誌和log4j

ssm-mybatis日誌和log4j

ssm-mybatis日誌和log4j

型別

mybatis日誌輸出配置,可以配置的型別有:
  • SLF4J
  • LOG4J - 常用,需導包和配置
  • LOG4J2
  • JDK_LOGGING
  • COMMONS_LOGGING
  • STDOUT_LOGGING - 簡單,無額外配置,系統標準輸出
  • NO_LOGGING

STDOUT_LOGGING

標準輸出配置比較簡單,只需要在mybatis配置檔案中,按照下圖所示配置即可:

配置前後對比,可以看到配置後控制檯多了很多sql執行日誌:

但是這種方式沒有將日誌出書到檔案,下面使用logf4日誌將日誌輸出到檔案。

LOG4J

什麼是log4j?

Log4j是Apache的一個開源專案,通過使用Log4j,我們可以控制日誌資訊輸送的目的地是控制檯、檔案、GUI元件,甚至是套介面伺服器、NT的事件記錄器、UNIX Syslog守護程序等; 我們也可以控制每一條日誌的輸出格式; 通過定義每一條日誌資訊的級別,我們能夠更加細緻地控制日誌的生成過程。 最令人感興趣的就是,這些可以通過一個配置檔案來靈活地進行配置,而不需要修改應用的程式碼。
現在從簡單配置和mybatis配置說說log4j的使用。

簡單配置和demo

  • 第一步:新增包依賴

  • 第二步:配置log4j.properties
  • 在resources目錄下,新建配置檔案log4j.properties
    並進行配置,log4j的配置很多不用全部記下來,找一些常用模板即可:
    #將等級為DEBUG的日誌資訊輸出到console和file這兩個目的地,console和file的定義在下面的程式碼
    log4j.rootLogger=DEBUG,console,file
    #控制檯輸出的相關設定
    log4j.appender.console = org.apache.log4j.ConsoleAppender
    log4j.appender.console.Target = System.out
    log4j.appender.console.Threshold=DEBUG
    log4j.appender.console.layout = org.apache.log4j.PatternLayout
    log4j.appender.console.layout.ConversionPattern=[%p][%d{yy-MM-dd hh:mm:ss}][%c]%m%n
    #檔案輸出的相關設定
    log4j.appender.file = org.apache.log4j.RollingFileAppender
    log4j.appender.file.File=./log/myLog.log
    log4j.appender.file.MaxFileSize=10mb
    log4j.appender.file.Threshold=DEBUG
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd hh:mm:ss}][%c]%m%n
    #日誌輸出級別
    log4j.logger.org.mybatis=DEBUG
    log4j.logger.java.sql=DEBUG
    log4j.logger.java.sql.Statement=DEBUG
    log4j.logger.java.sql.ResultSet=DEBUG
    log4j.logger.java.sql.PreparedStatement=DEBUG
  • 第三步:測試結果
  • @Test
    public void log4j(){
        Logger logger = Logger.getLogger(this.getClass());
        logger.debug("debug-除錯");
        logger.info("info-資訊");
        logger.warn("warn-警告");
        logger.error("error-錯誤");
    }

    控制檯輸出:

    日誌檔案輸出:

專案開發中,按照這個方式進行配置就可以解決大多數日誌問題。那怎麼在mybatis中配置log4j呢?

mybatis配置log4j

在上述配置的基礎上,將log4j配置到mybatis就非常簡單了,只需要在mybatis配置檔案中配置一行即可:

分別在控制檯和日誌檔案中檢視mybatis日誌:



mybatis日誌配置和log4j按上面配置,差不過就夠用了。