1、 新建一个Java工程,导入Log4j包,pom文件中对应的配置代码如下:
<!-- log4j support -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
2、resources目录下创建log4j.properties文件
### 设置###
log4j.rootLogger = debug,stdout,D,E
### 输出信息到控制抬 ###
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
### 输出DEBUG 级别以上的日志到=/home/duqi/logs/debug.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = /home/duqi/logs/debug.log
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
### 输出ERROR 级别以上的日志到=/home/admin/logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =/home/admin/logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
3、输出日志的例子如下
package com.javadu.log
import org.slf4j.Logger
import org.slf4j.LoggerFactory
public class Log4JTest {
private static final Logger logger = LoggerFactory.getLogger(Log4JTest.class)
public static void main(String[] args) {
// 记录debug级别的信息
logger.debug("This is debug message.")
// 记录info级别的信息
logger.info("This is info message.")
// 记录error级别的信息
logger.error("This is error message.")
}
}
4、输出结果
首先,控制台输入如下图所示:
然后,查看/Users/duqi/logs目录下的debug.log和error.log文件,内容分别如下,可以看出:
(1)将log4j插入代码的步骤通常,在Java应用程序中使用log4j的步骤如下:1.下载最新的log4j发行版。2.将log4j的jar库添加到程序的类路径中。3.创建log4j的配置。4.使用配置初始化log4j。5.创建记录器。6.将日志语句放入代码。
(2)下载log4j
因为log4J是apache的一个开源工具,所以你可以在apache的官网下载这个工具,下载地址为:http://logging.apache.org/log4j/1.2/download.html
(3)创建log4j的配置
这部分时可选择性的,如果你不想配置Log4j的话,你可以写log4j的logging语句,而不进行任何配置