log4j简单配置

Posted 蚊蚊蚊蚊蚊170624

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了log4j简单配置相关的知识,希望对你有一定的参考价值。

写在前面:

  项目中由于为了查看项目相关调试信息,使用System.out.println()直接在控制台打印不是很方便,故一般配置log4j,它可以将信息输出到文件中。

 

步骤:

1.导入jar包:log4j-1.2.8.jar

2.编写log4j配置文件:log4j.properties

### set log levels - for more verbose logging change ‘info‘ to ‘debug‘ ###
#这里指定了输出info以上级别的信息,并可以输出到控制台stdout,以及file中
log4j.rootLogger=info,stdout,file

### direct log messages to stdout ###
#控制台
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=%d{yyyy/MM/dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

### direct messages to file mylog.log ###
#文件 只输出到一个文件中
log4j.appender.logFile=org.apache.log4j.FileAppender
log4j.appender.logFile.File=E:/logs/mylog.txt
log4j.appender.logFile.encoding=UTF-8
log4j.appender.logFile.layout=org.apache.log4j.PatternLayout
log4j.appender.logFile.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n


### the file overd some size will create a new log file ###
#滚动文件 可以设置文件的大小(超过大小的自动创建新的日志文件来存放),以及文件的个数(文件个数超过后不再重新创建,会将新的内容从第一个文件开始存放)
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.Append=true
log4j.appender.file.File=E:/logs/log.txt
log4j.appender.file.encoding=UTF-8
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n


### error information ### 
#文件 只输出error信息到此文件
log4j.appender.errorfile
=org.apache.log4j.FileAppender log4j.appender.errorfile.File=E:/logs/errlog.txt log4j.appender.errorfile.Threshold=ERROR log4j.appender.errorfile.Append=false log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout log4j.appender.errorfile.layout.ConversionPattern=%d{yyyy/MM/dd HH\:mm\:ss,SSS} %5p %c{1}\:%L - %m%n

3.在web.xml中配置log4j
  如果直接将log4j.properties文件放在src路径下,那么就不需要在web.xml文件配置相关信息了,项目会自动加载的

  反之就需要配置(利用spring的监听器来加载,此时log4j.properties的位置可以放到其他地方):

      <!-- 在ssh中,可以使用spring的监听器来来加载 -->
    <context-param>
       <param-name>log4jConfigLocation</param-name>
       <param-value>classpath:config/log4j.properties</param-value>
    </context-param> 
    <!-- 使用spring的监听器,当应用启动时来读取log4j的配置文件 -->
    <listener>
       <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

4.程序中使用log4j

public class Test {
    //每个类中加上这个
    public static Logger logger=Logger.getLogger(Test.class);
    public static void main(String[] args) {
        logger.info("小蚊子qq:513996980");
        logger.info("小王啊哈方法看妇科小王啊哈方法看妇科小王啊哈");
        logger.error("对方水电费");
        int a = 10;
        try{
            int b = a/0;        
        }catch(Exception e){
            //将异常信息打印到日志文件中
            //logger.error(e.getStackTrace()[0]);
            //logger.error(e.getMessage());
            logger.error(getTrace(e));
        }
    
    }
    
    //封装了异常信息打印的方法
    public static String getTrace(Throwable t) {
        StringWriter stringWriter= new StringWriter();
        PrintWriter writer= new PrintWriter(stringWriter);
        t.printStackTrace(writer);
        StringBuffer buffer= stringWriter.getBuffer();
        return buffer.toString();
    }
}

运行之后,就可以看到控制台 以及你的日志文件中 会有相关的打印信息啦。。。。。
交流群:527038646  嘻嘻嘻

 

以上是关于log4j简单配置的主要内容,如果未能解决你的问题,请参考以下文章

LOG4J简单配置

log4j学习笔记一(简单配置log4j)

log4j——log4j.xml简单配置样例说明

Log4j简单配置解析

log4j——log4j.properties简单配置样例说明

log4j的简单配置及使用