log4j使用

log4j日志使用:
    step1:
        导入commons-logging-1.0.4.jar
        导入log4j-1.2.15.jar
    step2:
        添加log4j.properties文件至src目录下
    step3:
        配置log4j.properties
        log4j.rootLogger=INFO, stdout,logfile
        #stdout,
        log4j.appender.stdout=org.apache.log4j.ConsoleAppender
        log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
        log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

        log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
        log4j.appender.logfile.File=E:\\log\\smeimp
        log4j.appender.logfile.DatePattern='_'yyyy-MM-dd-HH-mm'.html'
        log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
        log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
log4j配置详解:
    1、log4j.rootLogger = [ level ] , appenderName, appenderName, …
        level:是log4j的日志级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。
        
        appenderName:就是指定日志信息输出到哪个地方。可同时指定多个输出目的地。
    2、 配置日志信息输出目的地Appender,其语法为:
        log4j.appender.appenderName = fully.qualified.name.of.appender.class

        log4j.appender.appenderName.option1 = value1
        …
        log4j.appender.appenderName.option = valueN
        其中,Log4j提供的appender有以下几种:
        org.apache.log4j.ConsoleAppender(控制台),
        org.apache.log4j.FileAppender(文件),
        org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
        org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
        org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
    3、设置好appender后,针对appender的配置
        也就是设置好要输出到什么地方后,其它配置选项

        (1).ConsoleAppender选项
        Threshold=WARN:指定日志消息的输出最低层次。

        ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。

        Target=System.err:默认情况下是:System.out,指定输出控制台

        (2).FileAppender 选项
        Threshold=WARN:指定日志消息的输出最低层次。

        ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。

        File=mylog.txt:指定消息输出到mylog.txt文件。

        Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。

        (3).DailyRollingFileAppender 选项
        Threshold=WARN:指定日志消息的输出最低层次。

        ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。

        File=mylog.txt:指定消息输出到mylog.txt文件。

        Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。

        DatePattern=’.’yyyy-ww:每周滚动一次文件,即每周产生一个新的文件。当然也可以指定按月、周、天、时和分。即对应的格式如下:

        ’.’yyyy-MM: 每月
        ’.’yyyy-ww: 每周
        ’.’yyyy-MM-dd: 每天
        ’.’yyyy-MM-dd-a: 每天两次
        ’.’yyyy-MM-dd-HH: 每小时
        ’.’yyyy-MM-dd-HH-mm: 每分钟
        (4).RollingFileAppender 选项
        Threshold=WARN:指定日志消息的输出最低层次。

        ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。

        File=mylog.txt:指定消息输出到mylog.txt文件。

        Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。

        MaxFileSize=100KB: 后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件

        MaxBackupIndex=2:指定可以产生的滚动文件的最大数。

        4. 配置日志信息的布局,其语法为:
        log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
        log4j.appender.appenderName.layout.option1 = value1
        …
        log4j.appender.appenderName.layout.option = valueN
        其中,Log4j提供的layout有以下几种:

        org.apache.log4j.HTMLLayout(以HTML表格形式布局),
        org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
        org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
        org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息) 

转载自:https://blog.csdn.net/qq_36498339/article/details/78949440

posted @ 2018-10-11 11:57  根须  阅读(135)  评论(0编辑  收藏  举报