服務器日志
每個 WebLogic Server 實例將來自子系統和應用程序的所有消息寫入位於本地主機上的服務器日志文件。默認情況下,服務器日志文件位於服務器實例根目錄下的 logs 目錄中;
例如D:\Oracle\Middleware\user_projects\domains\snails_domain\servers\AdminServer\logs\AdminServer.log,其中snails_domain 是在其中定位域的目錄的名稱,而 \AdminServer 是服務器的名稱。
可在管理控制台的Gernal屬性頁中設置該文件的路徑及名字,錯誤的輸出的等級等。
每條日志消息都具有關聯的嚴重程度級別。日志消息的級別大致說明其重要級別或緊急級別。WebLogic Server 具有從 TRACE 到 EMERGENCY 的預定義嚴重程度,在將日志請求調度給記錄器時,會將對應嚴重程度轉換為日志級別。日志級別有如下取值
可以在記錄器和處理程序上設置日志嚴重程度級別。在記錄器上進行設置時,任何處理程序都不會收到記錄器已拒絕的事件。例如,如果在記錄器上將日志級別設置為 NOTICE,則任何處理程序都不會收到 INFO 級別的事件。在處理程序上設置日志級別時,僅會對處理程序應用限制,而不會對其他程序應用限制。例如,為文件處理程序關閉 DEBUG 意味着不會將任何 DEBUG 消息寫入日志文件,但會將 DEBUG 消息將寫入標准輸出。
DOMAIN日志
除將消息寫入服務器日志文件外,每個服務器實例還會將其一部分消息轉發到域范圍日志文件。默認情況下,服務器僅轉發嚴重程度級別為 NOTICE 或更高的消息。雖然可以對轉發哪些消息進行修改,但服務器永遠不轉發嚴重程度級別為 DEBUG 的消息。
域日志文件提供用於查看域整體狀態的中央位置。域日志駐留在管理服務器的 logs 目錄中。域日志文件的默認名稱和位置是 DOMAIN_NAME\servers\ADMIN_SERVER_NAME\logs\DOMAIN_NAME.log,其中,DOMAIN_NAME 是在其中定位域的目錄的名稱,而 ADMIN_SERVER_NAME 是管理服務器的名稱。
域日志中記錄的時間戳是發出消息的服務器的時間戳。域日志中的日志記錄不會按照其時間戳順序寫入;會在消息到達后立即將其寫入。有可能受管服務器在一段時間內無法與管理服務器聯系。在這種情況下,消息被緩沖在本地並在重新連接服務器之后發送到管理服務器。
HTTP訪問日志
在WebLogic中可以對用HTTP,HTTPS協議訪問的服務器上的文件都做記錄,該LOG文件默認的名字為Access.log,內容如下,該文件具體記錄在某個時間,某個IP地址的客戶端訪問了服務器上的那個文件。
127.0.0.1 - - [25/Feb/2002:11:35:58 +0800] "GET /weather HTTP/1.1" 302 0
127.0.0.1 - - [25/Feb/2002:11:35:58 +0800] "GET /weather/index.Html HTTP/1.1" 200 176
HTTP訪問日志的屬性可在HTTP屬性頁中進行設置。
HTTP 子系統在文本文件中保留所有 HTTP 事務的日志。HTTP 訪問日志的默認位置和滾動策略與服務器日志相同。可以為每個服務器或每個定義的虛擬主機設置用於定義 HTTP 訪問日志行為的特性。
服務器實例如何將消息轉發到域日志
為將消息轉發到域日志,每個服務器實例會廣播其日志消息。服務器會廣播除嚴重程度級別為DEBUG 的消息以外的所有消息和消息文本。
管理服務器會監聽以上消息中的一部分消息,並將它們寫入域日志文件。為監聽這些消息,管理服務器在每台受管服務器中注冊監聽器。默認情況下,該監聽器包含一個篩選器,僅允許將嚴重程度級別為 NOTICE 和更高級別的消息轉發到管理服務器。具體機制參見下圖
對於任何給定WebLogic Server 實例,可以覆蓋默認篩選器並創建一個日志篩選器,從而將一組不同的消息集寫入域日志文件。如果管理服務器不可用,則受管服務器繼續將消息寫入其本地的服務器日志文件。但在默認情況下,當重新連接到服務器時,並不會將斷開連接期間寫入的所有消息轉發到域日志文件。受管服務器在緩沖區中保留指定數量的消息,從而在重新連接到服務器時可以將它們轉發到管理服務器。在緩沖區中保留的消息數量由 LogMBean 上的 DomainLogBroadcasterBufferSize 特性配置。默認值為 1。如配置為使用默認值,則在重新連接管理服務器后,僅將最后記錄的消息轉發到該服務器。例如,如果管理服務器在兩小時不可用之后恢復,則域日志中不包含這兩小時內生成的任何消息。如果已配置大於 1 的值,則在受管服務器重新連接到管理服務器之后,會將對應數量的消息轉發到域日志。
注意:這會導致在域日志文件中,具有較早時間戳的消息列在具有較晚時間戳的消息之后。當之前斷開連接的受管服務器的緩沖區中消息刷新到管理服務器之后,即使這些消息是在域日志中原有消息之前生成的,它們也會直接追加到域日志中。
日志消息格式
在 WebLogic Server 實例向服務器日志文件中寫入消息時,每條消息的第一行以 #### 開頭,后跟該消息的特性。每個特性都括在尖括號中。
以下是服務器日志文件中一條消息的示例:
####<Sept 22, 2004 10:46:51 AM EST> <Notice> <WebLogicServer> <MyComputer> <examplesServer> <main> <<WLS Kernel>> <> <null> <1080575211904> <BEA-000360>
<Server started in RUNNING mode>
在此示例中,消息的特性為:按區域設置格式的時間戳、嚴重程度、子系統、計算機名、服務器名、線程 ID、用戶 ID、事務 ID、診斷上下文 ID、原始時間值、消息 ID 和消息文本。(后面的消息特性部分中描述各個特性。)
如果一條消息不是在事務上下文中記錄的,則即使不包含事務 ID,也會包含用於事務 ID 的尖括號。
如果該消息中包含一個堆棧跟蹤,則該堆棧跟蹤包含在消息文本中。WebLogic Server 為其寫入的消息使用主機的默認字符編碼。
標准輸出和標准錯誤中輸出的格式
在 WebLogic Server 實例將一條消息寫入標准輸出時,該輸出不包含 #### 前綴,也不包含服務器名、計算機名、線程 ID、用戶 ID、事務 ID、診斷上下文 ID 和原始時間值字段。
以下示例說明如何將前一部分中的消息輸出到標准輸出中:
<Sept 22, 2004 10:51:10 AM EST> <Notice> <WebLogicServer> <BEA-000360> <Server started in RUNNING mode>
在此示例中,消息特性為:按區域設置格式的時間戳、嚴重程度、子系統、消息 ID 和消息文本。
圖形界面操作
登錄weblogic后台進行相關操作
1.日志相關參數設置
左側菜單:環境–>服務器
右側菜單:服務器–>日志記錄
只找到AdminServer.log、access.log,進行一些操作
如:設置日志文件的回滾,設置日志文件名等
2.日志查看
左側菜單:環境–>服務器
右側菜單:點擊服務器名稱
左側菜單:診斷–>日志文件
右側菜單:選中相關日志點擊查看