如何为 tomcat 服务器的每个实例编写唯一的日志文件?

How to write unique log file for each instance of tomcat server?

有两个实例,即 lisxyz 和 lisabc,部署在它们上的 webapplication 指向同一个文件挂载以写入日志文件。我如何为这些实例中的每一个生成日志文件,例如 log_lisxyz_{timestamp}.log - 仅包含 lisxyz 特定日志和 log_lisabc_{timestamp}.log 用于 lisabc 特定日志。

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

How could I generate log file for each of these instance

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

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 之前添加时间戳。

Which approach (default tomcat internal logging- JULI or log4j) is suitable and has more control ?

Log4j 也包含在 Tomcat 文档中。它将对文件名中的日期模式提供更多支持。我认为两者都可以满足给定的要求。