Log4j 使用

 
 
Log4j试用
        创建maven项目,下载最新的log4j插件
        在src/main/properties中放置默认的log4j配置文件
        后期,还可以通过指定位置方式加载配置文件,目前暂时没有尝试
 
简单代码:
package com.test.mylog;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
public class MyLog {
       private static Logger logger = Logger.getLogger(MyLog.class);
       
       public static void main(String[] args) {
             // TODO Auto-generated method stub
             logger.setLevel(Level.DEBUG);
             logger.debug("hello world!!");
             logger.info("hello world!!1234");
       }
}
 
简单的配置文件:
log4j.rootLogger=DEBUG
log4j.appender.MyLog = org.apache.log4j.FileAppender
log4j.appender.MyLog.File = G://proj_java/mylog.log
log4j.appender.MyLog.layout=org.apache.log4j.PatternLayout
log4j.appender.debug.Append=true
log4j.appender.debug.Threshold=DEBUG
log4j.appender.MyLog.layout.ConversionPattern=%d %p [%c] - %m%n
 
 
 
 
log4j配置文件说明:
 
配置文件分类:
        Log4j支持两种配置文件格式,一种是XML格式的文件,一种是properties(key=value)文件,其中properties格式的配置文件最为常用,其有一个固定的文件名log4j.properties
 
配置rootlogger:
 
        rootLogger的配置方式:
                log4j.rootLogger = level,appenderName1,appenderName2, .....
        rootLogger的配置详解
                level是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定义的级别,默认优先级:ALL < DEBUG < INFO <WARN < ERROR < FATAL < OFF
        Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来
        appenderName是日志信息输出位置,可以同时指定多个输出目的地
 
配置日志信息输出目的地Appender
 
Appender的配置方式:
        log4j.appender.appenderName = Log4j提供的appender(类名)《参考下面说明由那些值》
        log4j.appender.appenderName.属性名 = 属性值
        .....
        log4j.appender.appenderName.属性名 = 属性值
 
 
Appender的配置详解
        Log4j提供的appender有以下5种,分别可以将日志信息输出到5个不同的平台:
                org.apache.log4j.ConsoleAppender(日志输出到控制台)
                org.apache.log4j.FileAppender(日志输出到文件)
                org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
                org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
                org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
 
 
        ConsoleAppender
                Threshold=WARN:指定日志消息的输出最低层次。
                ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
                Target=System.err:默认情况下是:System.out,指定输出控制台
 
        FileAppender
                Threshold=WARN:指定日志消息的输出最低层次。
                ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
                File=mylog.txt:指定消息输出到mylog.txt文件。
                Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
 
       DailyRollingFileAppender
                Threshold=WARN:指定日志消息的输出最低层次。
                ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
                File=mylog.txt:指定消息输出到mylog.txt文件。
                Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
                DatePattern=”.”yyyy-ww:每周滚动一次文件,即每周产生一个新的文件。
                当然也可以指定按月、周、天、时和分。即对应的格式如下:
                        1)”.”yyyy-MM: 每月
                        2)”.”yyyy-ww: 每周
                        3)”.”yyyy-MM-dd: 每天
                        4)”.”yyyy-MM-dd-a: 每天两次
                        5)”.”yyyy-MM-dd-HH: 每小时
                        6)”.”yyyy-MM-dd-HH-mm: 每分钟
 
        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:指定可以产生的滚动文件的最大数。
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2020-12-21 23:03  dos_hello_world  阅读(82)  评论(0)    收藏  举报