有两个实例,即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。它将对文件名中的日期模式提供更多支持。我认为任何一种都可以满足给出的要求。