SKS_CODER 2017-07-12 08:18 采纳率: 0%
浏览 2925
已采纳

log4j2是否存在线程安全问题

应用中定义了一个日志打印切面,切面中定义了一些静态的logger成员变量,类似于这样
private static final Logger logger = LoggerFactory.getLogger(ApiLogAspect.class);
现在的问题是多个线程使用同一个logger是否会存在安全问题。
谢谢各位大佬各显神通

  • 写回答

2条回答 默认 最新

  • MaxCode-1 2017-07-12 08:35
    关注

    Log4j组件设计用于大量多线程系统
    log4j是线程安全的。原因是AppenderSkeleton.doAppend()方法是同步的。但要小心配置编程! 例如,您不能在不同的appender中使用相同的TTCCLayout实)!看看PatternLayout方法format()。它改变实例字段(StringBuffer sbuf),所以如果你在不同的appender中使用相同的PatternLayout实例,你将面临竞争条件。EnhancedPatternLayout更好,因为他们修改格式化方法。
    希望对你有用
    http://blogxinxiucan.sh1.newtouch.com/2017/06/27/Hello/

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 C# datagridview 栏位进度
  • ¥15 vue3页面el-table页面数据过多
  • ¥100 vue3中融入gRPC-web
  • ¥15 kali环境运行volatility分析android内存文件,缺profile
  • ¥15 写uniapp时遇到的问题
  • ¥15 vs 2008 安装遇到问题
  • ¥15 matlab有限元法求解梁带有若干弹簧质量系统的固有频率
  • ¥15 找一个网络防御专家,外包的
  • ¥100 能不能让两张不同的图片md5值一样,(有尝)
  • ¥15 informer代码训练自己的数据集,改参数怎么改