栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Log4j2为什么要在log4j上使用它?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Log4j2为什么要在log4j上使用它?

从Log4j 1.x升级到Log4j 2的原因

更新:自2015年8月起,Log4j
1.x正式终止生命
,建议升级到Log4j2。更新2:Java
4中打破了Log4j
1.2

  • 社区支持:Log4j 1.x未得到积极维护,而Log4j 2具有活跃的社区,可以在其中回答问题,添加功能并修复错误。
  • 异步记录器 - 与关闭记录类似的性能
  • 自定义日志级别
  • 修改后自动重新加载其配置,而不会在重新配置时丢失日志事件。
  • Java 8样式的lambda支持延迟记录
  • 从2.6版开始,Log4j 2是无垃圾的(或至少是低垃圾的)
  • 过滤:根据上下文数据,标记,正则表达式和Log事件中的其他组件进行过滤。过滤器可以与记录器关联。您可以在任何这些情况下使用通用的Filter类。
  • 插件架构 -通过构建自定义组件轻松扩展
  • 支持的API:SLF4J,Commons Logging,Log4j-1.x和java.util.logging
  • Log4j 2 API与Log4j 2实现分开。API不仅仅支持记录字符串:CharSequences,Objects和custom Messages。消息允许对有趣和复杂的结构的支持通过日志系统传递并得到有效的操纵。用户可以自由创建自己的消息类型,并编写自定义布局,过滤器和查找来操纵它们。
  • 并发改进:log4j2使用java.util.concurrent库在可能的最低级别上执行锁定。Log4j-1.x已知死锁问题。
  • 通过XML,JSON,YAML,属性配置文件或以编程方式进行配置。

意识到

  • log4j2.xml和log4j2.properties格式与Log4j 1.2配置语法不同
  • Log4j 2 与Log4j 1.x 并不完全兼容:
    log4j-1.2-api
    适配器支持Log4j 1.2 API,但是依赖Log4j 1.2内部的自定义设置可能无法工作。
  • 2.0至2.3版需要Java 6。Log4j 2.4和更高版本需要Java 7。

升级提示

人们开始使用log4j2时遇到的常见问题:

  • 您至少需要在类路径中同时使用log4j-api-2.6.2.jar和log4j-core-2.6.2.jar
  • Log4j2查找log4j 2 .xml配置文件,而不是log4j.xml配置文件
  • 配置文件位置:将其放在类路径中或使用
    log4j.configurationFile
    系统属性指定其路径
  • 要调试配置,请
    <Configuration status="trace">
    在配置文件的开头使用
  • 我建议从log4j2手册中提供的许多示例配置之一开始,然后一点一点地添加更多的铃声。

如果您的问题不是上述问题之一,请显示配置并提供有关遇到的问题的更多详细信息。(不确定您对自动配置的期望是什么,如果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>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/495012.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号