• log4j详细配置


    参考博客:https://blog.csdn.net/sinat_30185177/article/details/73550377

    log4j。。很简单好用的一个记录日志的东东,正因为好用,本人从来没有亲自配置过(都是别人在项目里面配好的,直接copy过来用),但是最近进了一家新公司,(或许因为某些原因)他们封装了一个日志工具类日志打印特定的信息,因为此项目以后由我接手,所以我做主就后来改了日志打印方式,原本代码如下:

    此方式称之为方法一..

    public class LogTool {
    
        public static void debugSysLog(String logtext) {
            writeLog(logtext,"info");
            System.out.println(logtext);
        }
    
        static Logger log = Logger.getLogger(LogTool.class);
        
        public static void writeLog(String msg,String level){
            if(level.equals("debug"))
                log.debug(msg);
            else if(level.equals("error"))
                log.error(msg);
            else if(level.equals("warn"))
                log.warn(msg);
            else
                log.info(msg);
        }
    }

    log4j.properties的代码:

    log4j.rootLogger=INFO,logfile,stdout,DEBUG
    
    #输出到控制台
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.Target = System.out
    log4j.appender.stdout.layout.ConversionPattern=%d %p [%c]:%l - %m%n
    
    #log4j.appender.logfile=org.apache.log4j.FileAppender
    #log4j.appender.logfile=org.apache.log4j.RollingFileAppender
    #log4j.appender.logfile.MaxFileSize
    =1MB #输出到文件 log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender log4j.appender.logfile.DatePattern='.'yyyy-MM-dd log4j.appender.logfile.File=${catalina.home}/webapps/logs/invoice.log #log4j.appender.logfile.MaxBackupIndex=20 log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d %p : %l - %m%n

    上面的log4j配置文件我已经修改过了,原本的是不打印错误信息的,即下面的一些东东记一下就行了。
    #%m   输出代码中指定的消息
    #%p   输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
    #%r   输出自应用启动到输出该log信息耗费的毫秒数
    #%c   输出所属的类目,通常就是所在类的全名
    #%t   输出产生该日志事件的线程名
    #%n   输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n”
    #%d   输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},输出类似:2002年10月18日  22:10:28
    #%l   输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java: 10 )

    使用工具类打印的信息如上图红色部分(很整洁,漂亮,,有乱用??有一次项目报错空指针,都不知道哪里错的。。)

    方法二:

    使用同样的配置文件,在项目里面使用如下代码打印日志,会提示的很完整,且方法一能实现的方法二都可以实现..
    Logger log = Logger.getLogger(InvoiceBuildServlet.class);

     在catch里面用 log.error("error",e);

    很简单。。

    下面是配置文件源文件的下载地址

    https://files.cnblogs.com/files/haopengchen/log4j.properties.zip

  • 相关阅读:
    shell中对于命令的搜寻顺序
    在shell中运行以不同方式运行脚本
    shell中的type命令
    shell中的数组
    shell中的循环语句
    shell中的case表达式
    双方括号
    34. Win7_x64安装oracle11g出现DIM-00019
    33. 完全卸载oracle11g步骤
    32. 安装oracle11g时,先决条件一直失败的解决方法
  • 原文地址:https://www.cnblogs.com/haopengchen/p/9209386.html
Copyright © 2020-2023  润新知