日志一般配置在resources的config下面的,并且Util当中的initLogRecord中的initLog()方法就是加载这个log4j.properties的.
首先先看log4j.properties的配置文件
log4j.rootLogger=debug, stdout, Rlog4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%nlog4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.loglog4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=5log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
然后看Util包当中的initLogRecord代码
package Util;import org.apache.log4j.PropertyConfigurator;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;public class initLogRecord {public static void initLog() {FileInputStream fileInputStream = null;try {Properties properties = new Properties();fileInputStream = new FileInputStream("src/main/resources/config/log4j.properties");properties.load(fileInputStream);PropertyConfigurator.configure(properties);} catch (Exception e) {e.printStackTrace();} finally {if (fileInputStream != null) {try {fileInputStream.close();} catch (IOException e) {e.printStackTrace();}}}}
}
下面找个例子测试一下这个日志 当中initLogRecord.initLog();就是查看日志的
/*** 查找所有数据 和日志* @throws IOException*/@Testpublic void findAll() throws IOException {initLogRecord.initLog();//1.读取mybatis的核心配置文件InputStream in = Resources.getResourceAsStream("config/mybatis-config.xml");//2.通过配置信息获取一个SqlSessionFactorySqlSessionFactory build = new SqlSessionFactoryBuilder().build(in);//3.通过工厂获取一个sqlSession对象SqlSession sqlSession = build.openSession();//4.通过空间名+id找到要执行的sql语句并执行sql语句List<students> list = sqlSession.selectList("studentsMapper.findAll");for (students students : list) {System.out.println(students);}}
结果展示
最后切记,一定要在maven的配置当中导入log4j坐标
<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.12</version></dependency>