java之log4j的配置
log4j有很多的优点,用起来很方便,就是配置起来有些麻烦,下面我介绍一下log4j的配置方法。
log4j是用来记录日志的。
软件的运行过程离不开日志.日志主要用来记录系统运行过程中的一些重要的操作信息,便于监视系统运行情况,帮助用户提前发现和避开可能出现的问题,或者出现问题后根据日志找到发生的原因.
日志根据记录内容的不同,主要分成以下3类:
- SQL日志:记录系统执行的SQL语句.
- 异常日志:记录系统运行中发生的异常事件.
- 业务日志:记录系统运行过程,如用户登录,操作记录.
要使用log4j,首先需要下载log4j 的JAR文件.log4j是Apache的一个开源项目,它的官方网站是http://logging.apache.org/log4j
看过好多log4j的文章,基本上都有log4j的配置方法,却没有log4j的配置步骤,我说一下吧:
(1).在项目中加入log4j所使用的JAR文件.
在MyEclipse中选中要使用log4j的项目,然后依次选则”Project” →”Properties”→”Java Build Path”→”Libraries”→”Add External JARs……” 选项,弹出选择JAR的窗口,找到自己计算机上存放的文件,就是你的Jar包.
(2).创建log4.properties文件
使用log4j需要创建log4j.propterties文件,这个文件时专门用来配置日志信息的,比如输出级别、输出目的地、输出格式等.
然后选择要使用log4j的项目,右击src,依次选择”New” →”File”选项,弹出”New File”对话框,输入文件名” log4j.properties”,这样就创建成功了.
至于log4j的配置方法,就是那让别人转载烂了的那段:
1 ### set log levels ### 2 log4j.rootLogger = debug , stdout , D , E 3 4 ### 输出到控制台 ### 5 log4j.appender.stdout = org.apache.log4j.ConsoleAppender 6 log4j.appender.stdout.Target = System.out 7 log4j.appender.stdout.layout = org.apache.log4j.PatternLayout 8 log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n 9 10 ### 输出到日志文件 ### 11 log4j.appender.D = org.apache.log4j.DailyRollingFileAppender 12 log4j.appender.D.File = logs/log.log 13 log4j.appender.D.Append = true 14 log4j.appender.D.Threshold = DEBUG ## 输出DEBUG级别以上的日志 15 log4j.appender.D.layout = org.apache.log4j.PatternLayout 16 log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n 17 18 ### 保存异常信息到单独文件 ### 19 log4j.appender.D = org.apache.log4j.DailyRollingFileAppender 20 log4j.appender.D.File = logs/error.log ## 异常日志文件名 21 log4j.appender.D.Append = true 22 log4j.appender.D.Threshold = ERROR ## 只输出ERROR级别以上的日志!!! 23 log4j.appender.D.layout = org.apache.log4j.PatternLayout 24 log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
做项目的时候直接 c v 就行(如果你想敲我不介意。。。)
log4j在main方法中使用:
1 public class TestLog4j { 2 public static void main(String[] args) { 3 PropertyConfigurator.configure( " D:/Code/conf/log4j.properties " ); 4 Logger logger = Logger.getLogger(TestLog4j. class ); 5 logger.debug( " debug " ); 6 logger.error( " error " ); 7 } 8 }
log4j的输出级别:
1 FATAL 0 2 ERROR 3 3 WARN 4 4 INFO 6 5 DEBUG 7