log4j2使用手册@zhangsf(2)

2020-04-14 16:45

Log4j很容易通过类名来命名,这可以在每个类初始化的时候完成Logger 的初始化,Logger 的名称就等于类的完整路径,这是一个定义Logger的简单有效的方式。当为日志文件输出具有 Logger名称的日志时,这种命名策略可以很容易看出一个日志消息的来源。当然这只是一种比较常见的日志命名方式,log4j并没有对此进行限制,开发人员可以按照需求进行命名。

因为使用类名命名 Logger是一个习惯用法。一个便利的方法是使用

LogManager.getLogger() 来获取类的全路径名称的 Logger。

目前为止,使用类名来作为Logger 的名称是最好的方式。

6. LoggerConfig

当Logger对象在logging configuration 中被定义时, LoggerConfig对象同时被创建。LoggerConfig 包含一组Filters 来过滤传递到Appenders 的LogEvent 。LoggerConfig使用一组Appenders 用来处理这些事件。

Log Levels

LoggerConfigs 被分配一个日志级别,包括: TRACE, DEBUG, INFO, WARN, ERROR, FATAL。Log4j 2 也支持自定义日志级别,另一种获得更多日志粒度的方式是使用 Markers。

Log4j1 与logback都有日志级别继承的概念。在Log4j2中,因为 Loggers 和LoggerConfigs是2个不同的对象,所以这个概念的实现有所不同。但是因为每个Loggers

都关联一个相应的LoggerConfig,所以最终效果是相同的。

如果一个 root LoggerConfig没有配置日志级别,将分配一个默认级别。 Logger Name Assigned LoggerConfig LoggerConfig Level Logger Level root root DEBUG DEBUG X root DEBUG DEBUG X.Y root DEBUG DEBUG X.Y.Z root Example 1 在 Example1中, 仅配置了root logger与其日志级别,所有的Loggers都会引用 root LoggerConfig ,并使用其日志级别。 Logger Name Assigned LoggerConfig LoggerConfig Level Level root root DEBUG DEBUG X X ERROR ERROR X.Y X.Y INFO INFO X.Y.Z X.Y.Z WARN WARN Example 2 在Example2中, 每个Logger 都有其对应的LoggerConfig 和相应的日志级别。 Logger Name Assigned LoggerConfig LoggerConfig Level Level root root DEBUG DEBUG X X ERROR ERROR X.Y X ERROR ERROR X.Y.Z X.Y.Z WARN WARN Example 3 在 Example3中,Loggerroot, X 和X.Y.Z 都有与名称完全匹配的LoggerConfig 配置,而 LoggerX.Y没有与其命名匹配的 LoggerConfig ,所以使用拥有最长匹配度的 X的LoggerConfig 。 Logger Name Assigned LoggerConfig LoggerConfig Level level root root DEBUG DEBUG X X ERROR ERROR X.Y X ERROR ERROR X.Y.Z X ERROR ERROR Example 4 Example 4中,root 与X各自有一个与名称完全匹配的LoggerConfig ,而X.Y 与X.Y.Z没有与名称完全匹配的LoggerConfig ,所以使用与其名称有最长匹配度的X 的LoggerConfig 。 Logger Name Assigned LoggerConfig LoggerConfig Level level root root DEBUG DEBUG X X ERROR ERROR X.Y X.Y INFO INFO X.YZ X ERROR ERROR Example 5 Example 5中root.X, 与X.Y 有与名字完全匹配的LoggerConfig ,而 X.YZ 将与X 相匹配而不是X.Y,因为路径匹配时按照 .进行分割和匹配的。

Logger Name Assigned LoggerConfig LoggerConfig Level Level root root DEBUG DEBUG X X ERROR ERROR X.Y X.Y ERROR X.Y.Z X.Y ERROR Example 6 Example 6中,X.Y 与X.Y.Z都没有配置相应的日志级别,所以他们从 Logger X中继承了日志级别。

下面的表格展示了logEvent(垂直方向)与 LoggerConfig(水平方向)的过滤方式:


log4j2使用手册@zhangsf(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:广州市三旧改造政策解读

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: