mybatis之日志配置


1.在mybatis-config.xml中配置

<!--        指定 MyBatis 所用日志的具體實現,未指定時將自動查找。 SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING-->
        <setting name="logImpl" value="LOG4J"/>

2.配置log4j.properties

# log4j.rootLogger日志輸出類別和級別:只輸出不低於該級別的日志信息DEBUG < INFO < WARN < ERROR < FATAL
# WARN:日志級別     CONSOLE:輸出位置自己定義的一個名字       logfile:輸出位置自己定義的一個名字
log4j.rootLogger=DEBUG,CONSOLE,logfile


# 配置CONSOLE輸出到控制台
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target = System.out
log4j.appender.CONSOLE.Threshold = DEBUG
# 配置CONSOLE設置為自定義布局模式
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
# 配置CONSOLE日志的輸出格式  [frame] 2019-08-22 22:52:12,000  %r耗費毫秒數 %p日志的優先級 %t線程名 %C所屬類名通常為全類名 %L代碼中的行號 %x線程相關聯的NDC %m日志 %n換行
log4j.appender.CONSOLE.layout.ConversionPattern=[frame] %d{yyyy-MM-dd HH:mm:ss,SSS} - %-4r %-5p [%t] %C:%L %x - %m%n
log4j.appender.CONSOLE.Encoding=UTF-8


################
# 輸出到日志文件中
################
# 配置logfile輸出到文件中 文件大小到達指定尺寸的時候產生新的日志文件
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
# 輸出文件位置此為項目根目錄下的logs文件夾中
log4j.appender.logfile.File=logs/root.log
# 后綴可以是KB,MB,GB達到該大小后創建新的日志文件
log4j.appender.logfile.MaxFileSize=10MB
log4j.appender.logfile.Threshold = DEBUG
# 配置logfile為自定義布局模式
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n
# 設置滾定文件的最大值3 指可以產生root.log.1、root.log.2、root.log.3和root.log四個日志文件
log4j.appender.logfile.MaxBackupIndex=3
# 保存編碼格式
log4j.appender.logfile.Encoding=UTF-8

#日志輸出級別
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.java.Encoding=UTF-8

3.測試

package com.yeyue.dao;
import com.sun.org.slf4j.internal.LoggerFactory;
import com.yeyue.pojo.User;
import com.yeyue.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.Logger;
import org.junit.Test;

import java.util.List;
public class UserDaoTest {
    private static Logger logger = Logger.getLogger(UserDaoTest.class);
    @Test
    public void test() {
        //獲得session對象
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        try {
            //執行sql  方式一
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
            List<User> userList = mapper.getUserList();
            logger.debug("哈哈哈");
            logger.info("哈哈哈");
            //方式二 不推薦
            //List<User> userList = sqlSession.selectList("com.yeyue.dao.UserDao.getUserList");
            for (User user : userList) {
                System.out.println(user);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //關閉session
            sqlSession.close();
        }
    }
    @Test
    public void TestLog4j() {
        logger.debug("debug");
        logger.info("info");
        logger.error("error");
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM