继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

WebLogic在ADF组件下的Log配置

PIPIONE
关注TA
已关注
手记 1063
粉丝 147
获赞 702


ADF有着很强大的Log架构体系ODL(Oracle Diagnostic Logging),能够结合log4j等一些主流的库,使得log能够自定义地输出至相应的地方,记录的内容包括log level, server, timestamp, source class以及具体的log信息。

在单机环境下,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的配置为:

<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到指定文件,可以增加如下配置:

<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中。

在这里特别需要提的是,在集群的环境下,odl的功能在managed server上默认是没有打开的,需要以下几步:

打开weblogic console,打开<环境>-><启动类和关闭类>,选择ODL-Startup,在目标标签页下勾选所有的managed server

wKiom1LedyzzG3jpAAO-ZO4C17A809.jpg

打开<诊断>-><上下文>,启用所有的server。

wKioL1LedwmhgGixAAOr1um8TVM597.jpg

当我们启动managed server时,就会看到我们的my.log文件会自动生成。

©著作权归作者所有:来自51CTO博客作者jupiterbee的原创作品,如需转载,请注明出处,否则将追究法律责任

OracleserverweblogicWebLogic


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP