啟動 Tomcat 時, catalina.out 中輸出的日誌格式可能不太理想。
看看某些版本預設的格式:
四月 24, 2018 6:49:32 下午 org.apache.catalina.startup.Catalina start資訊: Server startup in 9772 ms
有點彆扭, 想要調整成下面的格式:
24-Apr-2018 18:52:16.134 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 12631 ms
Google搜尋 “catalina.out log format”, 看到一些文章, 發現通過 ${tomcat-base}/conf/logging.properties 檔案進行配置。
其中, ${tomcat-base} 指的是具體運行執行個體的工作目錄。 ${tomcat-home} 則是安裝目錄。
也就是說, 一台伺服器上, 可以安裝一份 Tomcat, 指定多個base工作目錄, 則可以啟動多個執行個體。
idea 編輯器就是這麼乾的。 通過 jps -v 可以看到一些端倪。
具體的配置資訊如下, 可以直接覆蓋這個檔案。或者從一個有效執行個體下面拷貝即可。
logging.properties
handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler, 3manager.org.apache.juli.AsyncFileHandler, 4host-manager.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler.handlers = 1catalina.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler############################################################# Handler specific properties.# Describes specific configuration info for Handlers.############################################################1catalina.org.apache.juli.AsyncFileHandler.level = FINE1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.2localhost.org.apache.juli.AsyncFileHandler.level = FINE2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs2localhost.org.apache.juli.AsyncFileHandler.prefix = catalina.3manager.org.apache.juli.AsyncFileHandler.level = FINE3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs3manager.org.apache.juli.AsyncFileHandler.prefix = catalina.4host-manager.org.apache.juli.AsyncFileHandler.level = FINE4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs4host-manager.org.apache.juli.AsyncFileHandler.prefix = catalina.# 關鍵格式資訊在這裡!!!# 也可以是其他的配置, 請自行搜尋。java.util.logging.ConsoleHandler.level = FINEjava.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter############################################################# Facility specific properties.# Provides extra control for each logger.############################################################org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFOorg.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.AsyncFileHandlerorg.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFOorg.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.AsyncFileHandlerorg.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFOorg.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.AsyncFileHandler
當然, 能升級最好是升級版本。
更多資訊,請參考: https://tomcat.apache.org/tomcat-8.0-doc/logging.html
2018年5月7日