Log4j日志的基础配置及使用

log4j是一个用Java编写的可靠,快速和灵活的日志框架(API),它在Apache软件许可下发布。 Log4j已经被移植到了C,C++,C#,Perl,Python和Ruby等语言中。
Log4j是高度可配置的,并可通过在运行时的外部文件配置。它根据记录的优先级别,并提供机制,以指示记录信息到许多的目的地,诸如:数据库,文件,控制台,UNIX系统日志等。

一,到Log4j官网下jar包,并把jar包放在External Libraries下目录下
https://logging.apache.org/log4j/2.x/download.html
二,配置log4j.properties

在source文件夹下面新建log4j.properties文件,这个不用记,保存一遍就可以一直用啦。
输出日志级别从高到低:error > warn > info > debug

###根logger设置:相当于全局配置,如果底下的自定义配置和这里的全局配置都有日志输出级别的配置,优先输出级别更高的###
log4j.rootLogger = INFO,console,file

### 输出信息到控制台配置:第一个表示的是日志的附加器。第二个是输出的对象,这里有system.out,还有比如system.err之类的。第三个表示展示的方式。第四个是输出信息到控制台的级别。最后一个是日志展示格式。
最后一行的%p表示日志输出级别,%l表示输出日志的位置,包括类名,发生的线程等,%m表示message,%n表示换行,%d表示时间###
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.Threshold = INFO
log4j.appender.console.layout.ConversionPattern = [%p] %d{yyyy-MM-dd HH:mm:ss} method: %l----%m%n

###保存日志文件配置:第二行是日志保存的配置,第三行表示是否追加(新日志是否追加到后面等),第四行表示设置的日志级别,这里是warn,故在e盘里,保存的日志是warn级别及以上的###
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File = E:/log/web.log
log4j.appender.file.Append = true
log4j.appender.file.Threshold = warn 
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} method: %l - [ %p ]----%m%n

我们可以写个文件测试一下

import org.apache.log4j.Logger;

public class Test {
    // 传入当前类的名称
    private static Logger logger = Logger.getLogger("Test.class");

    public static void main(String[] args) {
        logger.info("这是info信息");
        logger.error("这是error信息");
        logger.warn("这是warn信息");
        logger.debug("这是debug信息");

    }
}

这个在控制台输出的就是INFO级别的日志,因为我们在上面配置了,输出结果如下:

[INFO] 2019-07-01 00:01:30 method: com.java.lesson10.test.log4j.Test.main(Test.java:10)----这是info信息
[ERROR] 2019-07-01 00:01:30 method: com.java.lesson10.test.log4j.Test.main(Test.java:11)----这是error信息
[WARN] 2019-07-01 00:01:30 method: com.java.lesson10.test.log4j.Test.main(Test.java:12)----这是warn信息

注意:
当局部变量和全局变量都设置的日志输出级别,我们就需要对比局部变量和全局变量的输出等级,哪个输出级别高就输出哪个。比如我在局部变量设置的debug,在全局变量设置了info,info>debug,输出的时候就会输出info级别及以上的日志。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值