weblogic 上的 EAR 应用程序在集群环境 (log4j) 中不产生任何输出
EAR app on weblogic produces no output in a clustered environement (log4j)
我有一个部署在 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>
我还尝试将文件名更改为:<param name="File" value="MYLOG_${weblogic.Name}.log" />
这样我就可以为每个服务器实例设置不同的日志文件,但它不会改变任何内容。我也试过这个:<param name="File" value="C:\MYLOG_${weblogic.Name}.log" />
,但仍然没有日志文件。
有什么帮助吗?
谢谢。
实际上,我部署到的集群中的两台服务器分配了一台机器(当它们安装在本地时)。
所以我只是去了 weblogic 管理控制台 -> 环境 -> 服务器,然后我选择了每个服务器(在我关闭它之后)并且我只是将 Configuration -> General -> Machine 从 MyMachine
更改为 none
.
重新启动服务器后,日志文件出现在正确的位置。
我有一个部署在 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>
我还尝试将文件名更改为:<param name="File" value="MYLOG_${weblogic.Name}.log" />
这样我就可以为每个服务器实例设置不同的日志文件,但它不会改变任何内容。我也试过这个:<param name="File" value="C:\MYLOG_${weblogic.Name}.log" />
,但仍然没有日志文件。
有什么帮助吗?
谢谢。
实际上,我部署到的集群中的两台服务器分配了一台机器(当它们安装在本地时)。
所以我只是去了 weblogic 管理控制台 -> 环境 -> 服务器,然后我选择了每个服务器(在我关闭它之后)并且我只是将 Configuration -> General -> Machine 从 MyMachine
更改为 none
.
重新启动服务器后,日志文件出现在正确的位置。