Log4j 零基础上手详解

450 阅读1分钟

1. 概述

Log4j 是 Java 编写的日志框架,有助于我们更加方便的记录项目中的信息,相对于初学者常用的 System.out 命令,Log4j 能提供很灵活和全面的信息记录功能,本文将详细介绍其 maven 依赖的引入,基本使用,日志等级以及常用的配置信息。

2. maven 依赖引入

maven 依赖查询网站: mvnrepository.com

<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

<!-- 由于后续测试需要,可以一并引入 junit 依赖 -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>compile</scope>
</dependency>

3. 测试使用

import org.apache.log4j.Logger;
import org.junit.Test;

public class log4jTest {
    Logger log = Logger.getLogger(String.valueOf(log4jTest.class));

    @Test
    public void text() {
        log.info("Hello world!");
        log.error("Hello error!");
    }
}

4. 配置信息

新建 log.properties 配置文件,按照以下说明修改配置信息

image.png

## 将 debug(可以选择其他等级)及以上的信息输出到stdout,后续可以详细配置各自的信息
log4j.rootLogger = debug, stdout, D

## appender 的可选择配置
# ConsoleAppender 控制台(常用)
# FileAppender 文件
# DailyRollingFileAppender 每天一个日志文件(常用)
# RollingFileAppends 文件大小达到一定尺寸后产生新文件(常用)
# WriterAppender 日志信息以流的形式发送到任意地方
## 日志等级,从低到高
# debug
# info
# warn
# error

## stdout 配置
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
# 输出信息的格式
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

## D信息配置
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
# 文件路径,需要自己调整
log4j.appender.D.File = /Users/suta/IdeaProjects/test/logs/myLog
log4j.appender.D.Append = true
# log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n