软件研发

为了更细粒度的日志我们可以同时使用几种logger

2018-07-17 16:20:47 | 来源:中培企业IT培训网

为了更细粒度的日志我们可以同时使用几种logger。不同的软件组件可以使用不同的logger。

下面的例子来自一个视频录制应用:

Logger    videologger   =   Logger . getLogger ( " se .matangle . video" ) ;

logger .warn ( " disk   is   dangerously   low " )

我们可以使用几种不同的日志等级,为我们的日志增加更大的明确性

log4j的术语来说,日志消息最后结尾的地方被称为appender。有很多可用的

appender,比如控制台、文件、网络目标地址和logger后台进程。

布局控制我们的日志信息格式。这允许我们使用类似printf的转义序列格式。

下面是模式中每个字段代表的意思:

*   第一个字段是从程序开始运行后经过的时间,以微秒计算。

*   第二个字段是发起日志请求的线程。

*   第三个字段是曰志语句的等级。

*   第四个字段是和日志请求关联的logger名字。

*   ”之后的文本是消息语句。

Log4j努力让日志的配置暴露给外部的应用。这样开发人员就可以通过在文件或者控制台配置让日志在本地工作。随后,当应用被部署在产品服务器时,管理员可以将日志的appender配置为其他东西,比如我们后面要讨论的ELK。这种方式不需要修改代码,而且我们在部署的时候可以修改日志的行为和目的地。

WildFly这样的应用服务器通过实现log4j系统插件为自己提供配置系统。

如果你不使用应用服务器也没关系,log4j的新版本支持很多不同的配置格式。下面是

一个XML格式的文件,它会在classpath上寻找log4j2-test.xml文件:

< ?xml   version=- "l.O "   encoding= "UTF-8 " ?>

<Configuration status="WARN">

<Appenders>

<Console   name="Console "   target=" SYSTEM  OUT" >

<PatternLayout   pattern=" d { HH : mm : ss . SSS }     [ t ]    -51evellogger { 36 }  -  omsgoon"/>

</Console>

</Appenders>

<Loggers>

<Root level="error">

<AppenderRef ref="Console"/>

</Root>

</Loggers>

</Configuration>

标签: logger

猜你喜欢