1、Log4j入门案例

Log4j是Apache下的一款开源的日志框架。 官方网站: http://logging.apache.org/log4j/1.2/,这是一款比较老的日志框架,目前新的log4j2做了很大的改动,任然有一些项目在使用log4j。

第一步:创建maven项目,添加依赖

<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.example</groupId>
	<artifactId>logging-test</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<properties>
		<maven.compiler.source>8</maven.compiler.source>
		<maven.compiler.target>8</maven.compiler.target>
	</properties>

	<dependencies>
		<dependency>
			<artifactId>junit</artifactId>
			<groupId>junit</groupId>
			<version>4.12</version>
		</dependency>

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

	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.8.1</version>
				<configuration>
					<source>${maven.compiler.source}</source>
					<target>${maven.compiler.target}</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

第二步:创建测试类

package com.example.test;

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

public class TestLog4j {

	private static final Logger logger = Logger.getLogger(TestLog4j.class);
	
	@Test
	public void testLog4j() {
		// 日志级别 
		logger.fatal("fatal"); // 严重错误,一般会造成系统崩溃 和终止运行 
		logger.error("error"); // 错误信息,但不会影响系统运行 
		logger.warn("warn"); // 警告信息,可能会发生问题 
		logger.info("info"); // 程序运行信息,数据库的连接、网 络、IO操作等 
		logger.debug("debug"); // 调试信息,一般在开发阶段使 用,记录程序的变量、参数等 
		logger.trace("trace"); // 追踪信息,记录程序的所有流程 信息
	}
}

运行我们发现没有打印

1、Log4j入门案例

原因
因为log4j默认既没有编程式配置也没有默认配置文件配置。不像JUL有个默认的配置文件,而log4j没有提供默认配置。

解决方案

package com.example.test;

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

public class TestLog4j {

	private static final Logger logger = Logger.getLogger(TestLog4j.class);
	
	@Test
	public void testLog4j() {
		BasicConfigurator.configure();
		// 日志级别 
		logger.fatal("fatal"); // 严重错误,一般会造成系统崩溃 和终止运行 
		logger.error("error"); // 错误信息,但不会影响系统运行 
		logger.warn("warn"); // 警告信息,可能会发生问题 
		logger.info("info"); // 程序运行信息,数据库的连接、网 络、IO操作等 
		logger.debug("debug"); // 调试信息,一般在开发阶段使 用,记录程序的变量、参数等 
		logger.trace("trace"); // 追踪信息,记录程序的所有流程 信息
	}
}

测试结果图

1、Log4j入门案例

从打印日志结果图看出,BasicConfigurator.configure();基本配置的级别为debug

上一篇:2、Log4j组件


下一篇:org.apache.ibatis.exceptions.PersistenceException: