• [log4j]log4j简单配置


    步骤:

    1.导入jar包:log4j-1.2.17.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
    
    
    

     log4j.rootLogger=info,stdout,file   的语法为:

     log4j.rootLogger = [ level ] , appenderName1, appenderName2, …
         level : 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。
         appenderName:就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。
         例如:log4j.rootLogger=info,A1,B2,C3 配置了3个输出地方,这个名字可以任意(如上面的stdout,file),但必须与我们在后面进行的设置名字对应
     

    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();
        }
    }

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

    附注:

    log4j的输出级别:

    1 FATAL 0
    2 ERROR 3
    3 WARN 4
    4 INFO 6
    5 DEBUG 7

  • 相关阅读:
    暑假快乐期刊(Android体温计特别篇)
    大二寒假作业之javaweb
    大二寒假作业之账本开发
    大二寒假作业之账本开发
    大二寒假作业之账本开发
    大二寒假作业之账本开发
    大二寒假作业之账本开发
    大二寒假作业之Android
    大二寒假作业之Android
    大二寒假作业之Android
  • 原文地址:https://www.cnblogs.com/afeng2010/p/10027708.html
Copyright © 2020-2023  润新知