Weblogic 12C 将日志发送到 syslog

Posted

技术标签:

【中文标题】Weblogic 12C 将日志发送到 syslog【英文标题】:Weblogic 12C sending logs to syslog 【发布时间】:2016-05-09 13:57:32 【问题描述】:

我想将我的 weblogic 日志发送到 syslog。这是我到目前为止所做的。

1.在托管服务器类路径中包含以下 log4j.properties -

log4j.rootLogger=DEBUG,syslog

log4j.appender.syslog=org.apache.log4j.net.SyslogAppender
log4j.appender.syslog.Threshold=DEBUG
log4j.appender.syslog.Facility=LOCAL7
log4j.appender.syslog.FacilityPrinting=false
log4j.appender.syslog.Header=true
log4j.appender.syslog.SyslogHost=localhost
log4j.appender.syslog.layout=org.apache.log4j.PatternLayout
log4j.appender.syslog.layout.ConversionPattern=[%p] %c:%L - %m%n 

2。将以下命令添加到托管服务器参数 -

-Dlog4j.configuration=file :<path to log4j properties file> -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger -Dweblogic.log.Log4jLoggingEnabled=true 

3。将wllog4j.jarllog4j-1.2.14.jar 添加到域的lib 文件夹中。

4.然后,通过执行以下操作从管理控制台更改日志记录信息。 “my_domain_name”--->配置--->记录--->(高级选项)-->记录实现:Log4J

重新启动托管服务器。

我使用this 作为参考。但在系统日志(/var/log/message)中没有得到任何信息。我做错了什么?

【问题讨论】:

【参考方案1】:

我会推荐几项检查:

去掉DEBUG、syslog文件中的空格 您的最后两个服务器参数在 - 和 D 之间有一个空格,因此请确保这不仅仅是本文中的复制和粘贴错误。 仔细检查日志文件是否在实际的类路径中。 再次检查 ps 命令,确保 -D 选项正确地进入了执行的启动命令。 确保托管服务器具有正确的 JAR 副本,因为它们会在重新启动期间从管理员处同步。

希望其中的某些内容会有所帮助或给出要查找的内容的想法。

--约翰

【讨论】:

我完全按照你的建议做了。日志中仍然没有任何内容。【参考方案2】:

我发现了问题所在。我的附加程序工作正常,问题出在rsyslog.conf。只是取消注释以下属性

# Provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

我们正在附加消息,但监听器没有,所以它不知道如何处理它。

它从*.debug;mail.none;authpriv.none;cron.none /var/log/messages 找出将任何(在这种情况下为调试)信息重定向到消息文件的位置。

【讨论】:

以上是关于Weblogic 12C 将日志发送到 syslog的主要内容,如果未能解决你的问题,请参考以下文章

WebLogic 12C 集中式 Log4J 或 Logback 配置

Weblogic 12c Web服务NullPointerException

Spring Boot App 部署到 Weblogic 12c 并且无法启动

WebLogic 12c:无法初始化 JNDI 上下文

智能设备远程运维 ,手把手教你将设备日志发送到远程服务器

Weblogic 升级到 12c:部署失败,因为 url 映射到多个 servlet