log4j日志问题

我现在项目是分布式的。

比如我一台服务器上有多个tomcat去跑我的项目,然后项目中的log4j输出的Log是指定输出到某个log文件中的(因为是同一个项目所以分布部署的项目输出的日志文件目标地址都是一个,同一个Log文件中)。

那么这样不是会产生一个问题,比如当一个项目出往log文件中输入log的时候,这时候文件是锁住的,另外一个分布部署的项目也往这个Log中输入发现文件正在被占用,那么日志是不是会丢失,可能还是造成程序异常?

对于这种问题怎么解决呢?

可能有人会说,那我把分布的项目每一个项目的日志文件都输出到不同路径或者不同日志文件中去。但是这样的话有2个问题,1.我每次去部署一个项目都要去改下这个log4j的输出配置十分麻烦,2.因为日志分散在不同的路径和文件中,收集日志信息变的十分不便

对于这个问题不知道大家怎么解决的?

评论区

冰点契约

2017-07-12 09:19

JFinal

2017-07-13 17:23

log4j 内部应该已经处理过了,可以适当看一下它的源代码,如果确实没有处理,可以通过它留下的接口自己来扩展一下,例如利用线程同步机制做一下

通常做日志是在出异常的情况之下,而异常在正常情况下是很少发生的,性能应该不成问题,如果异常非常频繁,那就得改程序去解决

热门反馈

扫码入社