java – Log4j2为什么要用log4j?
我一定是想念一些东西,但是现在我已经看了几天,但是为什么在log4j之前你可以使用log4j2(而不是性能)呢?
从目前为止所看到的,log4j2被公布为更简单的配置,但实际上更复杂(现在已经三天了,我仍然无法在主目录中写入日志).自动配置根本不适用于我(或者至少我不能工作),配置文件本身在其结构上显着更复杂,并且在运行时看起来更难以在运行时添加东西来帮助诊断. 那么除了性能是否有什么理由使用log4j2比原来的log4j? 解决方法
从Log4j 1.x升级到Log4j 2的原因
>社区支持:Log4j 1.x没有主动维护,而Log4j 2有一个活跃的社区,问题得到回答,功能被添加,错误被修复.更新:自2015年8月起,Log4j 1.x is officially End of Life建议升级到Log4j 2.更新2:Log4j 1.2 is broken in Java 9. 意识到 > log4j2.xml和log4j2.properties格式与Log4j 1.2配置语法不同 升级时的提示 人们在开始使用log4j2时遇到的常见问题: >您需要(at least)您的类路径中的log4j-api-2.6.2.jar和log4j-core-2.6.2.jar 如果您的问题不是上述问题之一,请显示您的配置,并提供有关您遇到的问题的更多详细信息. (不确定您对自动配置的期望,如果log4j2找不到配置文件,这是非常基本的功能,可以将ERROR事件记录到控制台,这很少是足够的.) 要写入您的主目录,可以使用系统属性lookup ${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> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |