一、实例演示
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基础开始。
欢迎关注,转载请注明来源。