weblogic上的EAR app在集群环境中没有输出(log4j)

时间:2015-08-20 11:24:05

标签: java logging log4j weblogic cluster-computing

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

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

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

这是我的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>

我还尝试将文件名更改为:<param name="File" value="MYLOG_${weblogic.Name}.log" />所以我可以为每个服务器实例提供不同的日志文件,但它不会更改任何内容。我也尝试了这个:<param name="File" value="C:\MYLOG_${weblogic.Name}.log" />,但仍然没有日志文件。

任何帮助?

感谢。

1 个答案:

答案 0 :(得分:0)

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

所以我只是去了weblogic管理控制台 - &gt; Environement - &gt;服务器,然后我选择了每个服务器(在我关闭它之后),我刚刚将Configuration -> General -> Machinenone更改为{{1}}。

重新启动服务器后,日志文件将显示在正确的位置。