写在前面
项目开发中,记录错误日志有以下好处:
-
方便调试
-
便于发现系统运行过程中的错误
-
存储业务数据,便于后期分析
在java中,记录日志有很多种方式:
-
自己实现:自己写类,将日志数据,以io操作方式,写数据到文本文件、数据库中。
-
使用log4j:log4j可以将日志输出到console窗口、文本文件、数据库等,功能强大!
-
使用slfj:slfj也是一个很强大的功能,slfj旨在一统天下,提供了logging.jar 和 log4j的接口,可以通过slfj来调用log4j,也可以调用jdk的logging。
-
使用jdk自带的logging.jar中的方法
log4j需要导入的包
一般使用log4j需要与logging配合使用:
-
commons-logging-1.0.4.jar
-
log4j-1.2.15.jar
添加配置文件
在src下,把log4j的配置文件添加进去log4j.properties。
建立类文件+主函数
修改配置文件,将日志输出到console
log4J配置文件为:
### 设置级别和目的地(这里多个目的地) ###
log4j.rootLogger = DEBUG,CONSOLE
### 这里的me是包,也就是在这个包记录日志时,是只记录debug及以上级别的日志
log4j.logger.me=DEBUG
### 输出到控制台 ###
log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Target = System.out
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n
main主函数调用:
import org.apache.log4j.Logger;
public class Log4jTest {
public static Logger logger1 = Logger.getLogger(Log4jTest.class);
public static void main(String[] args) {
//logger1
logger1.trace("我是logger1,trace");
logger1.debug("我是logger1,debug");
logger1.info("我是logger1,info");
logger1.warn("我是logger1,warn");
logger1.error("我是logger1,error");
logger1.fatal("我是logger1,fatal");
}
}
可以看到console中输出内容:
16:51:16,575 DEBUG Log4jTest:15 [main:0]- 我是logger1,debug
16:51:16,578 INFO Log4jTest:16 [main:3]- 我是logger1,info
16:51:16,578 WARN Log4jTest:17 [main:3]- 我是logger1,warn
16:51:16,578 ERROR Log4jTest:18 [main:3]- 我是logger1,error
16:51:16,578 FATAL Log4jTest:19 [main:3]- 我是logger1,fatal
详细可以阅读: