JUL
架构:
Logger(filter)—>Handler(filter)—>Outside World
Loggers:被称为记录器,应用程序通过获取Logger对象,调用其API来发布日志信息。Logger通常是应用程序访问日志系统的入口程序
Appenders:也被称为handlers,每个logger都会关联一组hanlders,Logger会在日志交给关联的Handlers处理,有Handlers负责将日志做记录。Handlers在此是一个抽象,在具体的实现决定了日志记录的位置可以是控制台,文件,网络上的其他日志服务
Layouts:也被称为Formatters,她负责对日志事件中的数据进行转换和格式化,layouts决定了数据在一条日志记录中的最终形式
level:每条日志消息都有一个关联的日志级别,该级别粗略指导了日志消息的重要性和紧迫,我们可以讲level和loggers,Appenders做关联以便于我们过滤消息
Filter 过滤器,根据需要制定那些信息会被记录,那些信息会被放过
使用:
pom.xml
1 | <dependency> |
1 |
|
级别:
1 | //SEVERE是指示严重失败的消息级别。一般来说SEVERE消息应该描述相当重要且这将阻止程序的正常执行的事件。 他们应该合理地理解为在最终用户和系统管理员。 此级别初始化为1000 |
自定义级别
1 |
|
文件记录
1 |
|
源码
1 |
|
父子关系
1 |
|
总结父子关系
1 |
|
配置文件
由于硬编码不好维护
所以使用加载配置文件来配置logger
加载配置文件需要LogManager ,前面说了他是一个单例模式的类,所以里面的东西都是共享的
1 |
|
logging.properties
1 | ############################################################ |
1 |
|
应用
1 |
|
架构:
我们的应用—> Logger( 有LogManager(单例)提供并初始化 )–(Level)–> LogRecord—(Filter)–>Handler—(Formatter)–>输出
1 |
|
- 本文作者: 忘忧症
- 本文链接: https://NepenthesZGW.github.io/2020/01/20/framework/log/JUL/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!