log4j是一个非常强大的log记录软件。下载地址: http://logging.apache.org/log4j
1、加载log4j- 1.2.15.jar包(lib目录下)
2、Java代码:(src目录下)
package com.coderdream.log4jDao;
import org.apache.log4j.Logger;
public class HelloDao extends prt {
private static Logger logger = Logger.getLogger(HelloDao.class);
public static void main(String[] args) {
// 记录debug级别的信息
logger.debug("This is debug message from Dao.");
// 记录info级别的信息
logger.info("This is info message from Dao.");
// 记录error级别的信息
logger.error("This is error message from Dao.");
// 记录debug级别的信息
if (logger.isDebugEnabled()) {
logger.debug("This is debug message from Dao.");
}
// 记录info级别的信息
if (logger.isInfoEnabled()) {
logger.info("This is info message from Dao.");
}
// 记录error级别的信息
logger.error("This is error message from Dao.");
HelloDao obj = new HelloDao();//调用构造函数
try {
obj.print();
} catch (Exception e) {
logger.error(e.getMessage());
// e.printStackTrace();
}
}
}
class prt {
void print() {
int a = 6;
int b = 0;
int c = a / b; //除数为0
}
}
3、设置log4j.xml(src目录下)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- 控制台输出日志 -->
<appender name="appender1" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />
</layout>
</appender>
<!-- 文件输出日志error -->
<appender name="appender2"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="./logd/log4j-err.log" />
<param name="MaxFileSize" value="1MB" />
<param name="MaxBackupIndex" value="5" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />
</layout>
<!--过滤器设置输出的级别-->
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="levelMin" value="error" />
<param name="levelMax" value="error" />
<param name="AcceptOnMatch" value="true" />
</filter>
</appender>
<!-- 文件输出所有日志 -->
<appender name="appender3"
class="org.apache.log4j.RollingFileAppender">
<param name="File" value="./logd/log4j.log" />
<param name="MaxFileSize" value="1MB" />
<param name="MaxBackupIndex" value="5" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />
</layout>
</appender>
<!-- 文件输出级别为debug -->
<root>
<level value="debug" />
<appender-ref ref="appender1" />
<appender-ref ref="appender2" />
<appender-ref ref="appender3" />
</root>
</log4j:configuration>
这样这个工程就可以运行了!!!
控制台输出结果:
[13 21:29:41,906 DEBUG] [main] log4jDao.HelloDao - This is debug message from Dao.
[13 21:29:41,906 INFO ] [main] log4jDao.HelloDao - This is info message from Dao.
[13 21:29:41,906 ERROR] [main] log4jDao.HelloDao - This is error message from Dao.
[13 21:29:41,906 DEBUG] [main] log4jDao.HelloDao - This is debug message from Dao.
[13 21:29:41,906 INFO ] [main] log4jDao.HelloDao - This is info message from Dao.
[13 21:29:41,906 ERROR] [main] log4jDao.HelloDao - This is error message from Dao.
I come in !!!
[13 21:29:41,906 ERROR] [main] log4jDao.HelloDao - / by zero
后台 根目录/logd/下会产生log4j-err.log和log4j.log日志文件,log4j-err.log仅包含error级别日志,log4j.log包含所有日志。