Tomcat日誌配置文件分析

Tomcat的conf目錄下的logger.properties爲tomcat的日誌配置。本篇簡述每一個配置項的做用。java

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
定義全部可用的handler的key。這個key分解爲兩部分: 前綴+類型。
好比2localhost.org.apache.juli.AsyncFileHandler前綴爲2localhost.,類名爲org.apache.juli.AsyncFileHandler。 而java.util.logging.ConsoleHandler前綴爲空。apache

Tomcat這樣的設計爲解決類型相同致使(好比org.apache.juli.AsyncFileHandler)的實例名
重複問題。tomcat

.handlers=1catalina.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler
用來設置根logger的handler。
再向下:
catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.ide

2localhost.org.apache.juli.AsyncFileHandler.level = FINE
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.設計

3manager.org.apache.juli.AsyncFileHandler.level = FINE
3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.AsyncFileHandler.prefix = manager.日誌

4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.orm

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatterit

這一堆分別用來設置上面5個handler的配置。好比AsyncFileHandler配置level表示handler容許輸出的日誌級別,directory表示日誌文件的目錄,prefix文件名前綴,仍是一個文件名後綴,默認爲".log"。form

文件再向下,就是配置各個logger的對應的level和handler:
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.AsyncFileHandlerclass

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.AsyncFileHandler

好比loggerName爲org.apache.catalina.core.ContainerBase.[Catalina].[localhost]的日誌會採用2localhost.org.apache.juli.AsyncFileHandler輸出到localhost.log中去。且只輸出日誌級別高於INFO的日誌。

相關文章
相關標籤/搜索