有两个实例,即lisxyz和lisabc,并且部署在它们上的Web应用程序指向相同的文件装载来写入日志文件。如何为每个实例生成日志文件,即类似log_lisxyz_{timestamp}.log的文件-仅包含lisxyz特定的日志,而log_lisabc_{timestamp}.log包含lisabc特定的日志。

哪种方法(默认的tomcat内部日志记录-JULI或log4j)合适并具有更多控制权?

最佳答案

如何为每个实例生成日志文件


根据Tomcat JULI,您可以在logging.properties中放置一个WEB-INF/classes

handlers = org.apache.juli.FileHandler

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

org.apache.juli.FileHandler.level = FINE
org.apache.juli.FileHandler.directory = ${catalina.base}/logs
org.apache.juli.FileHandler.prefix = ${classloader.webappName}_.


默认情况下,org.apache.juli.FileHandler将在prefix之后但在suffix之前添加时间戳。


  哪种方法(默认的tomcat内部日志记录-JULI或log4j)合适并具有更多控制权?


Tomcat文档中也介绍了Log4j。它将对文件名中的日期模式提供更多支持。我认为任何一种都可以满足给出的要求。

09-28 14:51