一、实例演示

 1 package log4jtutorial;
 2 
 3 import org.apache.logging.log4j.LogManager;
 4 import org.apache.logging.log4j.Logger;
 5 
 6 public class LoggingDemo {
 7     
 8 //    首先需要定义一个log对象
 9 //    定义成static final是因为只需要这一个实例,不能再有子类,多次调用的都是这一个实例,所以我们可以一直用这个对象来记录日志,不需要创建新的对象。
10 //    .getLogger()方法返回的是一个Logger对象实例
11 //    括号里面的参数用来记现在所在的类(LoggingDemo.class.getName())
12     private static final Logger log = LogManager.getLogger(LoggingDemo.class.getName());
13     
14     public static void main(String[] args) {
15         log.debug("Debug message logged");
16         log.error("Error message logged");
17         log.fatal("Fatal message logged");
18 
19     }
20 }

运行结果:

注:

1、导包是一定要注意选择如图所示的包,否则程序会报错。

 

二、Log4j 将检查配置文件路径的系统属性文件“Log4j.configurationFile”


如果没有定义系统属性文件,则配置顺序优先级如下:
Property ConfigurationFactory 将在 classpath 中查找 log4j2-test. Properties 配置文件

YAML ConfigurationFactory将在classpath中查找log4j2-test.yaml 和log4j2-test.yml配置文 件

JSON ConfigurationFactory将在classpath中查找log4j2-test.jsn和log4j2-test.json配置文件

XML ConfigurationFactory将在classpath中查找log4j2-test.xml配置文件

Property ConfigurationFactory将在classpath中查找log4j2.properties配置文件

YAML ConfigurationFactory将在classpath中查找log4j2.yml和log4j2.yaml配置文件

JSON ConfigurationFactory将在classpath中查找log4j2.jsn和log4j2.json配置文件

XML ConfigurationFactory将在classpath中查找log4j2.xml配置文件

如果没有提供任何配置文件,默认配置将会生效会产生以下默认行为:
1、将使用Root Logger
2、 Root Logger设为ERROR
3、 Root Logger将日志消息打印到控制台
4、 样式采用%d{HH:mm:ss.SSS}[%t]%-5level%logger{36}-%msg%n

 

三、

Log Level 什么时候用?
 OFF  不记录日志
 FATAL  当一个严重的错误阻止应用程序继续时用
 ERROR  当应用程序出现错误时,这种错误一般是可恢复的
 WARN  当事件可能导致错误时
 INFO  为事件记录信息
 DEBUG  有调试需求时
 TRACE  需要详细的调试消息时,通常通过应用程序捕获跟踪信息
 ALL  所有事件都应该记录

 

 如果有不明白的小伙伴可以加群“555191854”问我,群里都是软件行业的小伙伴相互一起学习。

内容具有连惯性,未标注的地方可以看前面的博客,这是一整套关于ava+selenium自动化的内容,从java基础开始。

欢迎关注,转载请注明来源。

posted on 2019-08-05 17:49  时光以北暮南城  阅读(316)  评论(0编辑  收藏  举报