如何将 Weblogic 日志重定向到数据库?

如何将 Weblogic 日志重定向到数据库?

有没有办法将 Weblogic (或 Fusion Middleware) 日志输出发送或重定向到数据库,而无需编写自定义应用程序?我读过的所有文档似乎都只涉及文件。

答案1

Weblogic 其实不是我的专业,但根据 Oracle 的文档,您应该能够使用 Log4j Logger 将 WLS 日志发送到 syslog,然后再次将它们转发到 MySQL(和一些其他)数据库。

这里rsyslog 说明和这里对于 syslog-ng。

这种系统日志方法有其优点,因为将系统日志从多个服务器发送到一个中央存储库,然后将其存储到那里的数据库中相当简单。此外,还有可用的前端(推广我曾经使用过的一个方法来简化分析。

然而,这种解决方案可能不符合“无需编写自定义应用程序“。或许其他人有更好的想法。

答案2

由于 Weblogic 能够利用通用Log4j记录器工具,可以将其配置为将日志发送到数据库。

这里关于配置 WLS 以使用 Log4j 和这里这里关于配置 Log4j 以将日志定向到数据库。

这又可能不符合“无需编写自定义应用程序“,但我担心这已经超出了预期。

答案3

WebLogic 应用程序可以生成 3 种类型的日志源:

  • STDOUT、WebLogic 服务器、HTTP 访问、事务和审计日志记录均使用 java.util.logging.Logger,并且可以轻松配置为使用 log4j。
  • 应用程序日志 - 使用服务器日志桥参见:http://docs.oracle.com/cd/E21764_01/web.1111/e13739/logging_services.htm#CHDBBEIJ
  • JVM STDOUT(例如 JVM 内存不足错误、线程转储),无法由 log4j 或 WebLogic 管理。这些将始终转到文件。(或者我找不到重定向它们的方法)

也可以看看:http://docs.oracle.com/cd/E21764_01/web.1111/e13739/logging_services.htm

无论你选择哪种解决方案,你都需要花些时间去理解它。记录可能是一项非常复杂的任务。

相关内容