Log4j配置及使用经验总结

一. log4j的使用步骤:

1.编写log4j的properties配置文件,一般命名为log4j.properties,也可以使用别的文件名。
2.在程序中使用log4j记录日志

public class Test {
    //获取Logger(有两种类型的日志可以获取,查看后面详细解释)
    private static Logger logger = Logger.getLogger("ROLLFILE"); //或者Logger.getLogger("Test .class");

    public static void main(String[] args) {
        new Test().testLogger();
    }

    public void testLogger() {
        //log4j配置文件路径
        String path = (this.getClass().getResource("/").getPath()).substring(1);
        //加载配置文件
        PropertyConfigurator.configure(path + "config/log4j.properties"); 
        //使用各个日志等级进行记录
        logger.debug("debug msg!");
        logger.info("info msg!");
        logger.warn("warn msg!");
        logger.error("error msg!");
        logger.fatal("fatal msg!");
        //对于异常对象的打印
        try{
            System.out.println(1%0);
        }catch(Exception e){
            logger.error("未知异常", e);
        }
    }
}

说明:

1. 日志对象获取

日志的获取通过Logger对象的静态方法getLogger进行获取,该方法参数有两个重载方法,第一种方法的参数字符串,该方法用与获取指定名称的日志对象(可以通过配置文件配置多个日志对象,配置文件实质为日志对象集合);第二种方法的参数为类,获取到的日志对象为rootLogger,参数的作用为日志打印时改行日志显示的类名全称。

2. 日志系统配置加载

使用PropertyConfigurator对象的静态方法configure进行加载log4j的配置文件

3. 日志对象输入日志方法

根据日志等级的不同,日志输出方法为五种,分别为debug,info,warn,error,fatal。每个方法都有两个重载方法,第一个方法参数为Object,此方法打印object的字符串形式,第二个方法的参数为Object和Throwable,此方法用于打印Object及异常。

二. log4j的配置:

1. 基本配置

# 配置root日志  这个是不指定日志对象即使用类作为参数获取到的日志对象,第一个参数为日志等级,表示输出日志最低等级,之后的参数为输出目标Appender【控制台或者文件】,这两种输出目标的配置是有些不同的,后面说明。
log4j.rootLogger=DEBUG, CONSOLE
log4j.logger.FILE=DEBUG, FILE
###################
# Console Appender
###################
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=DEBUG
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
#####################
# File Appender
#####################
# 指定Appender[Appender有ConsoleAppender和FileAppender ]
log4j.appender.FILE=org.apache.log4j.FileAppender 
# 指定文件
log4j.appender.FILE.File=file.log
# 指定是否在文件中追加
log4j.appender.FILE.Append=false
#指定日志打印格式处理对象
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
#指定日志打印格式
log4j.appender.FILE.layout.ConversionPattern=%d{yyMMdd HH:mm:ss} [%p] %l - %m%n

日志打印格式表达式说明:
转自【http://zwllxs.iteye.com/blog/1143112

%n - 换行  
%m - 日志内容     
%p - 日志级别(FATAL,   ERROR,   WARN,   INFO,   DEBUG   or   custom)      
%r - 程序启动到现在的毫秒数   
%% - percent   sign   in   output  
%t - 当前线程名  
%d   -  日期和时间,   
    常用的格式有 %d{DATE}, %d{ABSOLUTE}, %d{HH:mm:ss,SSS}, %d{ddMMyyyy HH:mm:ss,SSS}。。。  
%l - 同 %F%L%C%M  
    %F - java源文件名  
%L - java源码行数  
    %C - java类名,%C{1} 输出最后一个元素  
    %M-java方法名  
    %n - 换行
    %m - 日志内容   
    %p - 日志级别(FATAL,   ERROR,   WARN,   INFO,   DEBUG   or   custom)    
    %r - 程序启动到现在的毫秒数 
    %% - percent   sign   in   output
    %t - 当前线程名
    %d   -  日期和时间, 
        常用的格式有 %d{DATE}, %d{ABSOLUTE}, %d{HH:mm:ss,SSS}, %d{ddMMyyyy HH:mm:ss,SSS}。。。
    %l - 同 %F%L%C%M
        %F - java源文件名
    %L - java源码行数
        %C - java类名,%C{1} 输出最后一个元素
        %M-java方法名
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值