Rem*_*pma 62
从Log4j 1.x升级到Log4j 2的原因
意识到
log4j-1.2-api
适配器支持Log4j 1.2 API,但依赖于Log4j 1.2内部的自定义可能不起作用.升级时的提示
开始使用log4j2时人们遇到的常见问题:
log4j.configurationFile
系统属性指定其路径<Configuration status="trace">
在配置文件的开头使用如果您的问题不是上述问题之一,请显示您的配置并提供有关您遇到的问题的更多详细信息.(不确定您对自动配置的期望,这是一个非常基本的功能,如果log4j2找不到配置文件,则会将ERROR事件记录到控制台.这很少就足够了.)
要写入主目录,可以使用系统属性查找 ${sys:PROPERTYNAME}
.下面是一个示例配置来演示:
<Configuration status="trace">
<Properties>
<Property name="logfile">${sys:user.home}/log${date:yyyyMMdd}.log</Property>
</Properties>
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%m%n"/>
</Console>
<File name="FILE" fileName="${sys:logfile}">
<PatternLayout>
<pattern>%d %p [%t] %c{1.} %m%n</pattern>
</PatternLayout>
</File>
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="STDOUT" level="ERROR" />
<AppenderRef ref="FILE" />
</Root>
</Loggers>
</Configuration>
Run Code Online (Sandbox Code Playgroud)
检查一下.简而言之,从链接:
Log4j 2.0介绍:
一个新的插件系统
对财产的支持
支持基于JSON的配置和自动重新加载其配置.
支持许多现有的日志记录框架,包括SLF4J,Commons Logging,Apache Flume和Log4j 1.x,并提供新的程序员API.
正如你所说,它也快得多.
缺点是:
log4j 2.0与log4j 1.x非常不同,API大多不兼容.
很难设置.
如果您不需要任何新功能,那么使用较旧的Log4j 1.x可能会很好.
归档时间: |
|
查看次数: |
27354 次 |
最近记录: |