【问题标题】:EAR app on weblogic produces no output in a clustered environement (log4j)weblogic 上的 EAR 应用程序在集群环境 (log4j) 中不产生任何输出
【发布时间】:2015-08-20 11:24:04
【问题描述】:

我有一个部署在 weblogic 上的 EAR(由 WAR 和 EJB JAR 组成),并且在这个 EAR 中配置了 log4j。

当我在单个服务器中部署我的 EAR 时,日志会正确生成,并且我可以在我的域的根目录中看到它。

当我将 EAR 部署到集群环境(有两台服务器)时,我在数据库中看到发生了更改,并且我可以与 WAR 中包含的 Web 服务进行交互,但没有创建或更新日志文件。

这是我的log4j.xml 配置文件。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <appender name="MYLOGFILE"
        class="org.apache.log4j.RollingFileAppender">
        <param name="threshold" value="debug" />
        <param name="File" value="MYLOG.log" />
        <param name="Append" value="true" />
        <param name="MaxFileSize" value="2MB" />
        <param name="MaxBackupIndex" value="80" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d{dd/MM/yyyy HH:mm:ss,SSS} (%3X{IdThread}) [%X{IdDem}] %-5p %-15c{1}: %m%n" />
        </layout>
    </appender>


    <root>
        <priority value="debug" />
        <appender-ref ref="MYLOGFILE" />
    </root>

</log4j:configuration>

我还尝试将文件名更改为:&lt;param name="File" value="MYLOG_${weblogic.Name}.log" /&gt;,这样我可以为每个服务器实例设置不同的日志文件,但它不会改变任何内容。我也试过这个:&lt;param name="File" value="C:\MYLOG_${weblogic.Name}.log" /&gt;,但仍然没有日志文件。

有什么帮助吗?

谢谢。

【问题讨论】:

    标签: java logging log4j weblogic cluster-computing


    【解决方案1】:

    实际上,我正在部署到的集群中的两台服务器都分配了一台机器(当它们安装在本地时)。

    所以我只是去了 weblogic 管理控制台 -> 环境 -> 服务器,然后我选择了每个服务器(在我关闭它之后),我只是将 Configuration -> General -> MachineMyMachine 更改为 none

    重启服务器后,日志文件出现在正确的位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-18
      • 1970-01-01
      • 1970-01-01
      • 2017-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多