应用中定义了一个日志打印切面,切面中定义了一些静态的logger成员变量,类似于这样
private static final Logger logger = LoggerFactory.getLogger(ApiLogAspect.class);
现在的问题是多个线程使用同一个logger是否会存在安全问题。
谢谢各位大佬各显神通
log4j2是否存在线程安全问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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/本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥30 vmware exsi重置后的密码
- ¥15 易盾点选的cb参数怎么解啊
- ¥15 MATLAB运行显示错误,如何解决?
- ¥15 c++头文件不能识别CDialog
- ¥15 Excel发现不可读取的内容
- ¥15 UE5#if WITH_EDITOR导致打包的功能不可用
- ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
- ¥20 yolov5自定义Prune报错,如何解决?
- ¥15 电磁场的matlab仿真
- ¥15 mars2d在vue3中的引入问题