• log4j.properties详解


    首先建立项目

    package a;
    
    import org.apache.log4j.Logger;
    
    public class Test {
    
        private static Logger logger=Logger.getLogger(Test.class);
        public static void main(String[] args) {
            logger.debug("debug");
            logger.info("info");
            logger.warn("warn");
            logger.error("error");       
            logger.fatal("fatal");
        }
    
    }

    log4j.properties

    log4j.rootLogger=DEBUG,Console,DEBUGFile ,ERRORFile
    
    log4j.appender.Console=org.apache.log4j.ConsoleAppender
    log4j.appender.Console.layout=org.apache.log4j.SimpleLayout
    
    #DEBUGFile
    log4j.appender.DEBUGFile = org.apache.log4j.FileAppender
    log4j.appender.DEBUGFile.File = E://debug.log     # ${catalina.base}/logs/debug.log
    log4j.appender.DEBUGFile.layout = org.apache.log4j.PatternLayout
    log4j.appender.DEBUGFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
    log4j.appender.DEBUGFile.Threshold = DEBUG
    log4j.appender.DEBUGFile.Append = false
    
    #ERRORFile
    log4j.appender.ERRORFile = org.apache.log4j.FileAppender
    log4j.appender.ERRORFile.File = E://error.log
    log4j.appender.ERRORFile.layout = org.apache.log4j.PatternLayout
    log4j.appender.ERRORFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
    log4j.appender.ERRORFile.Threshold = ERROR

    二话不说,先把项目跑起来

    在到E盘中看看我们的日志文件

    实践已经结束了,现在开始理论了。

    日志级别从高到低:

    OFF 关闭了日志信息 ,什么也不记录(一般不用)
    FATAL
    可能导致应用中止的严重事件错误
    ERROR 严重错误 主要是程序的错误
    WARN 一般警告,比如session丢失
    INFO
    一般要显示的信息,比如登录登出
    DEBUG
    为程序的调试信息
    TRACE
    为比DEBUG更细粒度的事件信息
    ALL
    全纪录(一般不用)

    log4j.rootLogger是根配置属性

    log4j.rootLogger=【level】,目的地名1,目的地名2,目的地名3....

    level是日志等级,

    目的地:是日志的记录信息输出到什么地方

    目的地的值:

    org.apache.log4j.ConsoleAppender   控制台

    org.apache.log4j.FileAppender   文件

    org.apache.log4j.DailyRollingFileAppender    每天产生一个日志文件

    org.apache.log4j.RollingFileAppender   文件大小到达指定尺寸的时候产生一个新的文件 

    org.apache.log4j.WriterAppender   将日志信息以流格式发送到任意指定的地方

    org.apache.log4j.JdbcAppender   将日志讯息保存到数据库中

    log4j.appender.Console.layout   日志的输出形式,
    值如下:
    org.apache.log4j.HTMLLayout HTML表格形式布局
    org.apache.log4j.PatternLayout 自定义日志格式
    org.apache.log4j.SimpleLayout  包含日志信息的级别和信息字符串
    org.apache.log4j.TTCCLayout   包含日志产生的时间、线程、类别等等信息

    log4j.appender.DEBUGFile.File = E://debug.log 日志的输出地址
    log4j.appender.Console.layout.ConversionPattern=%-5p [%c] - %m%n 自定义日志的输出格式
    其中-5这一项表示的是输出的日志级别名称所占的字符数为5,不足5个字符的用空格补全,其实就是起到对齐的作用,方便查看日志内容
    具体参数如下
    %m
    输出代码中指定的消息
    %M
    输出打印该条日志的方法名
    %p
    输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
    %r
    输出自应用启动到输出该log信息耗费的毫秒数
    %c
    输出所属的类目,通常就是所在类的全名
    %t
    输出产生该日志事件的线程名
    %n
    输出一个回车换行符,Windows平台为"rn”,Unix平台为"n”
    %d
    输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy-MM-dd HH:mm:ss,SSS},输出类似:2002-10-18 22:10:28,921;
    %l
    输出日志事件的发生位置,及在代码中的行数

    log4j.appender.DEBUGFile.Threshold = DEBUG  日志消息的输出最低层次 这里的值只能比根层级高,否则无法输出
    log4j.appender.DEBUGFile.Append = false   日志文件是否追加,默认就是true,表示追加
  • 相关阅读:
    四十一.redis主从复制 RDB/AOF持久化 数据类型
    四十.创建Redis集群 管理集群
    三十九.NoSQL概述 部署Redis服务 、 部署LNMP+Redis
    三十八. 分库分表概述 配置mycat
    520D
    442C
    LA4788
    LA3276
    LA4122
    zoj3478
  • 原文地址:https://www.cnblogs.com/guoyansi19900907/p/9269410.html
Copyright © 2020-2023  润新知