log4j(日志的配置)

日志一般配置在resources的config下面的,并且Util当中的initLogRecord中的initLog()方法就是加载这个log4j.properties的.

首先先看log4j.properties的配置文件

log4j.rootLogger=debug, stdout, R

log4j.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%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log

log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=5

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

然后看Util包当中的initLogRecord代码

java 复制代码
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();就是查看日志的

java 复制代码
/**
     * 查找所有数据 和日志
     * @throws IOException
     */
    @Test
    public void findAll() throws IOException {
        initLogRecord.initLog();
        //1.读取mybatis的核心配置文件
        InputStream in = Resources.getResourceAsStream("config/mybatis-config.xml");
        //2.通过配置信息获取一个SqlSessionFactory
        SqlSessionFactory 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>
相关推荐
Narutolxy2 天前
Python 单元测试:深入理解与实战应用20240919
python·单元测试·log4j
Flying_Fish_roe4 天前
Spring Boot-Bean注入问题
spring boot·后端·log4j
SelectDB技术团队4 天前
查询性能提升 10 倍、存储空间节省 65%,Apache Doris 半结构化数据分析方案及典型场景
数据结构·数据仓库·elasticsearch·log4j·json
&木头人&9 天前
log4j 的参数配置
log4j
&木头人&10 天前
log4j 1.x 日志输出线程以唯一ID的形式配置
单元测试·log4j
惜.己10 天前
spring项目整合log4j2日志框架(含log4j无法打印出日志的情况,含解决办法)
java·spring·junit·单元测试·log4j·idea
清星QA10 天前
log4j靶场,反弹shell
log4j
&木头人&12 天前
Log4j 1.x如何升级到Log4j 2.x
单元测试·log4j
武昌库里写JAVA13 天前
人工智能,语音识别也算一种人工智能。
java·开发语言·算法·spring·log4j