WebLogic在ADF組件下的Log配置

ADF有着很強大的Log架構體系ODL(Oracle Diagnostic Logging),可以結合log4j等一些主流的庫,使得log可以自定義地輸出至相應的地方,記錄的內容包括log level, server, timestamp, source class以及具體的log信息。web

在單機環境下,server的log配置可見文件C:\Oracle\Middleware\user_projects\domains\base_domain\config\fmwconfig\servers\AdminServer\logging.xml文件,裏面定義了一系列的logger以及log_handler,logger定義了須要打印log的類以及對應相應的log_handler,而log_handler則定義了打印log的規則,包括log文件的存儲路徑等配置。架構

<logger name="" level="WARNING:1">
    <handler name="odl-handler"/>
    <handler name="wls-domain"/>
    <handler name="console-handler"/>
</logger>

默認的logger會將warning以上級別的log分別輸出至以上三個handler,包括屏幕輸出,域輸出以及odl輸出。其中odl-handler的配置爲:oracle

<log_handler name='odl-handler' class='oracle.core.ojdl.logging.ODLHandlerFactory' filter='oracle.dfw.incident.IncidentDetectionLogFilter'>
    <property name='path' value='${domain.home}/servers/${weblogic.Name}/logs/${weblogic.Name}-diagnostic.log'/>
    <property name='maxFileSize' value='10485760'/>
    <property name='maxLogSize' value='104857600'/>
    <property name='encoding' value='UTF-8'/>
    <property name='useThreadName' value='true'/>
    <property name='supplementalAttributes' value='J2EE_APP.name,J2EE_MODULE.name,WEBSERVICE.name,WEBSERVICE_PORT.name,composite_instance_id,component_instance_id,composite_name,component_name'/>
   </log_handler>

odl-handler會將符合條件的日誌輸出到文件${weblogic.Name}-diagnostic.log中去,在集羣模式下每個server都會有分別的diagnostic輸出。若是用戶以爲diagnostic裏面的log太多太亂,想輸出本身想要看的log到指定文件,能夠增長以下配置:dom


<log_handler name='my-log-handler'class='oracle.core.ojdl.logging.ODLHandlerFactory'>
    <property name='path' value='${domain.home}/servers/${weblogic.Name}/logs/my.log'/>
</log_handler>
...
<logger name="com.example" level="TRACE:32">
      <handler name="my-log-handler"/>
</logger>

該配置會使得com.example包下的全部類打的log都輸出到文件my.log中。
ide

在這裏特別須要提的是,在集羣的環境下,odl的功能在managed server上默認是沒有打開的,須要如下幾步:spa

  1. 打開weblogic console,打開<環境>-><啓動類和關閉類>,選擇ODL-Startup,在目標標籤頁下勾選全部的managed server3d

wKiom1LedyzzG3jpAAO-ZO4C17A809.jpg


打開<診斷>-><上下文>,啓用全部的server。日誌

wKioL1LedwmhgGixAAOr1um8TVM597.jpg

當咱們啓動managed server時,就會看到咱們的my.log文件會自動生成。code

相關文章
相關標籤/搜索