大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Tomca教程
Tomcat Manager
Tomcat Realm 配置
Tomcat 安全管理
Tomcat JNDI 資源
Tomcat JDBC 數據源
Tomcat 類加載機制
Tomcat JSPs
Tomcat SSL/TLS配置
Tomcat SSI
Tomcat CGI
Tomcat 代理支持
Tomcat MBean 描述符
Tomcat 默認 Servlet
Tomcat 集群
Tomcat 連接器
Tomcat監控與管理
Tomcat 日志機制
Tomcat 基于 APR 的原生庫
Tomcat 虛擬主機
Tomcat 高級 IO 機制
Tomcat 附加組件
Tomcat 安全性注意事項
Tomcat Windows 服務
Tomcat Windows 認證
Tomcat 的 JDBC 連接池
Tomcat WebSocket 支持
Tomcat 重寫機制

使用 java.util.logging(默認)

JDK 所提供的默認 java.util.logging 實現功能太過局限,所以根本沒有什么使用價值。其關鍵局限在于不能實現針對每一應用進行日志記錄,因為配置是針對每一 VM 的。所以按照默認配置,Tomcat 會用 JULI 這種非常適用于容器的實現來代替默認的 LogManager 實現,從而避免了 LogManager 的缺點。

跟標準 JDK 的 java.util.logging 一樣,JULI 也支持同樣的配置機制,或者使用編程方式,或者指定屬性值。它與 java.util.logging 的不同在于,它可以分別設置每一個類加載器屬性文件(能夠啟用簡單的、便于重新部署的應用配置),屬性文件還支持擴展構造,能夠更加自由地定義 handle 并將其指定給 logger。

JULI 是默認啟用的,除了普通的全局 java.util.logging 配置之外,它支持每個類加載器配置。這意味著可以在下列層級來配置日志:

  • 全局范圍。${catalina.base}/conf/logging.properties 文件。該文件通過由啟動腳本設置的系統屬性 java.util.logging.config.file 來指定。如果它不可讀或沒有配置,默認采用 JRE 中的 ${java.home}/lib/logging.properties 文件。
  • 在 Web 應用范圍內。該文件為 WEB-INF/classes/logging.properties。

JRE 中默認的 logging.properties 指定了 ConsoleHandler,用于將日志輸出至 System.err。Tomcat 中默認的 conf/logging.properties 也添加了幾個能夠寫入文件的 FileHandlers。

handler 的日志級別容差值默認為 INFO,取值范圍為:SEVERE、WARNING、INFO、CONFIG、FINE、FINER、FINEST 或 ALL。你也可以從特殊的包中收集日志,然后為這種日志指定相應的級別。

為了啟用 部分 Tomcat 內部的調試日志功能,應該配置適合的 logger 和 handle 來使用 FINEST 或 ALL 級別。比如:

org.apache.catalina.session.level=ALLjava.util.logging.ConsoleHandler.level=ALL

當啟用調試日志功能時,建議將范圍盡量縮小,因為該功能會產生大量信息。

JULI 所使用的配置與純 java.util.logging 所支持的配置基本相同,只不過使用了一些擴展,以便更靈活地配置 logger 和 handler。主要的差別在于:

  • handler 名稱前可以加上前綴,所以同一類可以實例化出多個 handler。前綴是一個以數字開頭的字符串,并以 . 結尾。比如 22foobar. 就是個有效的前綴。
  • 系統屬性

還有一些額外的實現類,它們可以與 Java 所提供的類一起使用。在這些類中,最著名的就是 org.apache.juli.FileHandler。

org.apache.juli.FileHandler 支持日志緩存。日志緩存默認是沒有啟用的。使用 handler 的 bufferSize 屬性可以配置它:屬性值為 0 時,代表使用系統默認的緩存(通常使用 8k 緩存);屬性值小于 0 時,將在每個日志寫入上強制使用 writer flush(將緩存區中的數據強制寫出到系統輸出)功能;屬性值大于 0 時,則使用帶有定義值的 BufferedOutputStream 類——但要注意的是,這也將應用于系統默認的緩存。

以下是一個 $CATALINA_BASE/conf 中的 logging.properties 文件:

handlers = 1catalina.org.apache.juli.FileHandler, \
           2localhost.org.apache.juli.FileHandler, \
           3manager.org.apache.juli.FileHandler, \
           java.util.logging.ConsoleHandler
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
############################################################# Handler specific properties.# Describes specific configuration info for Handlers.############################################################
1catalina.org.apache.juli.FileHandler.level = FINE1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs1catalina.org.apache.juli.FileHandler.prefix = catalina.
2localhost.org.apache.juli.FileHandler.level = FINE2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs2localhost.org.apache.juli.FileHandler.prefix = localhost.
3manager.org.apache.juli.FileHandler.level = FINE3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs3manager.org.apache.juli.FileHandler.prefix = manager.3manager.org.apache.juli.FileHandler.bufferSize = 16384
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
############################################################# Facility specific properties.# Provides extra control for each logger.############################################################
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = \
   2localhost.org.apache.juli.FileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = \
   3manager.org.apache.juli.FileHandler
# For example, set the org.apache.catalina.util.LifecycleBase logger to log# each component that extends LifecycleBase changing state:#org.apache.catalina.util.LifecycleBase.level = FINE

下例是一個用于 servlet-examples 應用的 WEB-INF/classes 中的 logging.properties 文件:

handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
############################################################# 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}.

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

1. 文檔引用

查看下列資源獲取額外的詳細信息:

  • org.apache.juli 包的相關 Tomcat 文檔。
  • java.util.logging 包的 Oracle Java 6 文檔。

2. 生產環境使用中的注意事項

可能需要注意以下方面:

  • 將 ConsoleHandler 從配置中移除。默認(多謝 .handlers 設置)日志會使用 FileHandler 和 ConsoleHandler。后者的輸出經常會被捕獲到一個文件中,比如 catalina.out。從而導致同一消息可能生成了兩個副本。
  • 對于不使用的應用(比如 host-manager),可以考慮將 FileHandlers 移除。
  • handler 默認使用系統缺省編碼來寫入日志文件,通過 encoding 屬性可以修改設置,詳情查看相關的 javadoc 文檔。
  • 配置 Access log 。
全部教程
主站蜘蛛池模板: 国产极品嫩模在线观看91精品 | 国产伦精品一区二区三区女 | 正在播放一区二区 | 99久久国产综合精品成人影院 | 中文字幕日韩精品在线 | 91久久综合九色综合欧美亚洲 | 日韩国产成人资源精品视频 | 天天操天天干天天舔 | 日韩在线一区二区三区免费视频 | 日本乱中文字幕系列在线观看 | 亚洲码在线中文在线观看 | 亚洲精品一区二区三区四区 | 欧美人交性视频在线香蕉 | 国产美女mm131爽爽爽免费 | 特级毛片免费视频播放 | 欧美午夜性春 | 国产二级片 | 天天干视频网站 | 久久久毛片免费全部播放 | 欧美综合精品 | 麻豆久久婷婷综合五月国产 | 国产精品免费精品自在线观看 | 国产免费一区二区在线看 | 99热免费在线观看 | 日韩欧美在线播放视频 | 欧美αv| 91免费精品国自产拍在线不卡 | 欧美特级毛片aaaa | 一级性毛片 | 日本亚洲成高清一区二区三区 | 精品亚洲一区二区三区 | 手机看片国产免费久久网 | 国产一区二区三区影院 | 欧美精品日本一级特黄 | 好好的日com欧美 | 亚洲片在线观看 | 狠狠操天天操夜夜操 | 天天做天天爱天天爽综合网 | 亚洲免费观看 | 亚洲视频免费在线 | 级毛片|