• Log4j使用笔记


            在工作过程中,常常需要查看后台日志,为了更好的记录日志,我们使用Log4j来记录日志。

    一、maven依赖的配置

            在maven中央库库里找到log4j的java包,添加到依赖即可。
        <dependency>
    	    <groupId>log4j</groupId> 
    	    <artifactId>log4j</artifactId>
    	    <version>1.2.17</version>
    	</dependency> 
    5
    1
        <dependency>
    2
            <groupId>log4j</groupId> 
    3
            <artifactId>log4j</artifactId>
    4
            <version>1.2.17</version>
    5
        </dependency> 


    二、配置properties文件    

            log4j的使用只需要在src下面放一个log4j.properties的文件,然后在该properties文件中进行配置即可。
            (1)配置全局根日志对象
                 log4j.rootLogger = info,console,file
                 格式:log4j.rootLogger  =   [level日志级别] , 输出端1 , 输出端2,  …

        (2)配置指定包下的日志
                log4j.logger.org.springframework =debug   
                格式: log4j.logger.包名 = 日志级别

        (3)配置日志的输出端
            控制台输出:
            log4j.appender.console = org.apache.log4j.ConsoleAppender (输出端)
    log4j.appender.console.Threshold=info (日志级别)
    log4j.appender.console.Target=System.out (目标)
    log4j.appender.console.layout = org.apache.log4j.PatternLayout (日志格式器)
    log4j.appender.console.layout.ConversionPattern =%p: %m%n [%d] [%c] [%r] [%t]%n (转换表达式)
    文件输出:
    log4j.appender.file = org.apache.log4j.DailyRollingFileAppender (每天产生一个文件)
    log4j.appender.file.DatePattern='_'yyyy-MM-dd'.log' (前一天日志文件命名格式)
    log4j.appender.file.File = F:/log/oa.log    (生成的文件)
    log4j.appender.file.layout = org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern =%p: %m%n [%d] [%c] [%r] [%t]%n
           转换表达式详解:
    %p  输出优先级,即DEBUG,INFO,WARN,ERROR
    %m  输出代码中指定的消息
    %n  输出一个回车换行符,Windows平台为“/r/n”,Unix平台为“/n” 
    %d  输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,
                比如:%d{yyy MMM dd HH:mm:ss},输出类似:2002年10月18日  22 : 10 : 28
    %c  输出所属的类目,通常就是所在类的全名 
    %r  输出自应用启动到输出该log信息耗费的毫秒数 
    %t  输出产生该日志事件的线程名 

    (4)完整的配置文件如下:
    ## LOG4J 日志配置 ##
    ##01 配置全局日志
    log4j.rootLogger = info,console,file
    
    ##02 配置指定包下的日志(局部),其他包的日志级别按全局的处理。(不过最终会输出的级别还和下面输出方式配置的级别有关系),
    # Hibernate5 logger(虽然这里配置的是debug级,如果控制台配置的是info级别的话,debug级的日志也是不会输出的)
    log4j.logger.org.hibernate=debug   
    log4j.logger.org.hibernate.hql=debug
    
    ##03 配置输出方式 ##
    # 输出到控制台
    log4j.appender.console = org.apache.log4j.ConsoleAppender
    log4j.appender.console.Threshold=info
    log4j.appender.console.Target=System.out
    log4j.appender.console.layout = org.apache.log4j.PatternLayout
    log4j.appender.console.layout.ConversionPattern =%p: %m%n [%d] [%c] [%r] [%t]%n
    
    # 输出到文件
    log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.file.Threshold=info
    # 设置DatePattern,当天日志保存到tax.log文件,前一天的日志文件名将被修改为tax.log + _yyyy-MM-dd.log
    log4j.appender.file.DatePattern='_'yyyy-MM-dd'.log'
    log4j.appender.file.File = D:/log/tax.log
    log4j.appender.file.layout = org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern =%p: %m%n [%d] [%c] [%r] [%t]%n
    x
     
    1
    ## LOG4J 日志配置 ##
    2
    ##01 配置全局日志
    3
    log4j.rootLogger = info,console,file
    4
    5
    ##02 配置指定包下的日志(局部),其他包的日志级别按全局的处理。(不过最终会输出的级别还和下面输出方式配置的级别有关系),
    6
    # Hibernate5 logger(虽然这里配置的是debug级,如果控制台配置的是info级别的话,debug级的日志也是不会输出的)
    7
    log4j.logger.org.hibernate=debug   
    8
    log4j.logger.org.hibernate.hql=debug
    9
    10
    ##03 配置输出方式 ##
    11
    # 输出到控制台
    12
    log4j.appender.console = org.apache.log4j.ConsoleAppender
    13
    log4j.appender.console.Threshold=info
    14
    log4j.appender.console.Target=System.out
    15
    log4j.appender.console.layout = org.apache.log4j.PatternLayout
    16
    log4j.appender.console.layout.ConversionPattern =%p: %m%n [%d] [%c] [%r] [%t]%n
    17
    18
    # 输出到文件
    19
    log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
    20
    log4j.appender.file.Threshold=info
    21
    # 设置DatePattern,当天日志保存到tax.log文件,前一天的日志文件名将被修改为tax.log + _yyyy-MM-dd.log
    22
    log4j.appender.file.DatePattern='_'yyyy-MM-dd'.log'
    23
    log4j.appender.file.File = D:/log/tax.log
    24
    log4j.appender.file.layout = org.apache.log4j.PatternLayout
    25
    log4j.appender.file.layout.ConversionPattern =%p: %m%n [%d] [%c] [%r] [%t]%n

    三、配置文件的解释

            
     

    四、在java代码中使用日志

        public static void main(String[] args) {
    		Logger logger = Logger.getLogger(TestSpring.class);
    		logger.debug("这是debug");
    		logger.info("这是Info");
    		logger.error("这是error");
    	}
     
    1
        public static void main(String[] args) {
    2
            Logger logger = Logger.getLogger(TestSpring.class);
    3
            logger.debug("这是debug");
    4
            logger.info("这是Info");
    5
            logger.error("这是error");
    6
        }


  • 相关阅读:
    面向对象三大特性:封装,继承,多态(三、多态的进一步讲解)
    面向对象三大特性:封装,继承,多态(二、多态)
    面向对象三大特性:封装,继承,多态(一,封装和继承)
    zookeeper+dubbo+demo
    Eclipse常见版本和JDK常用版本对应关系
    Navicat 连接MySQL 8.0.11 出现2059错误
    Neo4j elk Elasticsearch kibana kettle
    jvm垃圾回收机制GC
    jvm 这我就能会了 擦
    spring的4种事务特性,4种隔离级别,7种传播行为
  • 原文地址:https://www.cnblogs.com/zeng1994/p/9296561.html
Copyright © 2020-2023  润新知