2

我有一个 weblogic 服务器(10.3.5)。我已经配置了一个新的logger/log_handler,没问题。

我现在想在这个 log_handler 上更改日志的写入方式。目前,它是这样写的:

[2013-07-29T09:41:16.653+00:00] [MS_server1] [NOTIFICATION] [] [myCustomLogger] [tid: [ACTIVE].ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: Anonymous] [ecid: 3928459900541890,0:1:1:1] [APP: myfrontend-1] [URI: /FO/app/pages/feedback] My loggued message.

我需要删除 weblogic 自动添加到 finally 的所有部分:

My loggued message.

我的logging.xml包含:

<log_handler name='myCustomLLog-handler' class='oracle.core.ojdl.logging.ODLHandlerFactory' filter='oracle.dfw.incident.IncidentDetectionLogFilter'>
   <property name='path' value='${domain.home}/servers/${weblogic.Name}/logs/${weblogic.Name}-myCustomLog.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>

我怎样才能做到这一点 ?

谢谢 !

4

1 回答 1

2

我向 Oracle 团队提出了同样的问题,他们说这是不可能的,除非使用 log4j 记录器。

引用 BeeAarKay 的话:

据我所知,您无法更改 WebLogic Server 自己的日志消息格式(在出现问题时支持需要信息的任何方式)。

但是您可以将 WebLogic 配置为使用 Log4j(请查看 URL :: http://docs.oracle.com/cd/E13222_01/wls/docs103/logging/config_logs.html#wp1014610 以获取“如何将 Log4j 与 WebLogic 日志服务一起使用") 并且,当 Log4j 启​​用时,您可以获得对服务器正在使用的 org.apache.log4j.Logger 的引用并附加您自己的附加程序。

启用 Log4j 后,您会从 weblogic.logging.log4j.Log4jLoggingHelper 类中获得对服务器正在使用的 org.apache.log4j.Logger 的引用。

使用 Log4j Logger 参考,`您可以附加您自己的自定义附加程序以接收服务器日志事件;例如,您可以附加一个将服务器日志事件发送到 Syslog 或 Windows 事件查看器的附加程序。此外,您可以使用 Logger 引用向 WebLogic 日志记录服务发出日志请求;这要求 Log4j 库可用于您部署的应用程序。

但这并不能替代 WebLogic 自己的日志。

于 2013-09-04T08:46:38.057 回答