美文网首页
log4j随笔

log4j随笔

作者: 烈格黑街 | 来源:发表于2018-03-04 23:26 被阅读0次

log4j

一 简介:

log4j其实就是提供一套日志记录的工具, 可以根据配置文件, 生成不同的日志效果

日志的级别:
  1. fatal - 致命的错误
  2. error - 错误信息
  3. warn - 警告级别
  4. info - 普通的数据信息
  5. debug - 调试级别的信息

二 使用

  1. 配置配置文件

    配置文件一般命名为log4j.properties, 放在项目根路径下(如果使用Mybatis等框架, 会自动加载根目录下的配置文件)

    配置文件示例:

    ### 设置###
    log4j.rootLogger = debug,stdout,D,E
    
    ### 输出信息到控制抬 ###
    log4j.appender.stdout = org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target = System.out
    log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
    
    ### 输出DEBUG 级别以上的日志到=E://logs/error.log ###
    log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.D.File = E://logs/log.log
    log4j.appender.D.Append = true
    log4j.appender.D.Threshold = DEBUG 
    log4j.appender.D.layout = org.apache.log4j.PatternLayout
    log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
    
    ### 输出ERROR 级别以上的日志到=E://logs/error.log ###
    log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.E.File =E://logs/error.log 
    log4j.appender.E.Append = true
    log4j.appender.E.Threshold = ERROR 
    log4j.appender.E.layout = org.apache.log4j.PatternLayout
    log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
Markdown
  • 其中的PatternLayout是一种布局格式, 有既定的规则标准:


    Markdown

2.编写java代码:

package com.mtl.log;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.junit.Test;

public class MyLog {

    @Test
    public void doMyLog(){
        String path = MyLog.class.getResource("/").getPath() + "log4j.properties";  //获取配置文件路径
        PropertyConfigurator.configure(path);                                       //手动加载配置文件, 如果使用框架无需这步
        Logger logger = Logger.getLogger(this.getClass());                          //通过getLogger(class)获取logger对象
        logger.fatal("这个是致命的错误信息!");
        logger.error("这个是错误信息!");
        logger.warn("这个是警告信息!");
        logger.info("这个是打印信息!");
        logger.debug("这个是调试信息!");
    }
}

如果希望打印日志到文件, 只需要将日志输出模式更改为D类模式并进行日志文件路径的相应配置即可

相关文章

网友评论

      本文标题:log4j随笔

      本文链接:https://www.haomeiwen.com/subject/qjfcfftx.html