章节十五、6-log4 2-用默认的配置
一、实例演示
package log4jtutorial; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; public class LoggingDemo { // 首先需要定义一个log对象
// 定义成static final是因为只需要这一个实例,不能再有子类,多次调用的都是这一个实例,所以我们可以一直用这个对象来记录日志,不需要创建新的对象。
// .getLogger()方法返回的是一个Logger对象实例
// 括号里面的参数用来记现在所在的类(LoggingDemo.class.getName())
private static final Logger log = LogManager.getLogger(LoggingDemo.class.getName()); public static void main(String[] args) {
log.debug("Debug message logged");
log.error("Error message logged");
log.fatal("Fatal message logged"); }
}
运行结果:
注:
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基础开始。
欢迎关注,转载请注明来源。
最新文章
- InstallShield 脚本语言学习笔记
- BZOJ3196: Tyvj 1730 二逼平衡树
- jQuery美女幻灯相册轮播源代码
- C#引用C++开发的DLL
- Android的系统属性SystemProperties
- js 实现angylar.js view层和model层双绑定(改变view刷新 model,改变model自动刷新view)
- 【转】SVN linux命令及 windows相关操作(二)
- 【动态规划】Vijos P1011 清帝之惑之顺治
- [iOS]C语言知识点系列视频
- ecshop屏蔽wap功能
- calling c++ from golang with swig--windows dll (四)
- shift+zz保存并退出
- 前端自动化构建工具Gulp简单入门
- jmeter知识总结(一)
- Qt UI tips
- method.invoke()s
- tomcat架构分析和源码解读
- Salesforce的报表和仪表板
- python基础知识回顾之字符串
- mongodb副本集修改配置问题
热门文章
- 使用docker启动mysql
- Python文件中将print的输出内容重定向到变量中
- 异常:Parameter 'username' not found. Available parameters are [arg1, arg0, param1, param2]
- Python 爬虫从入门到进阶之路(十三)
- 50道SQL练习题及答案与详细分析!!!
- 微服务-springboot-读写分离(多数据源切换)
- 小白开学Asp.Net Core 《七》
- Java编程思想:进程控制
- NOIP2018提高/普及成绩
- kali换源