Weblogic 12c + Log4j 日志记录不写入服务器日志
Weblogic12 + Log4j logging not writing to server logs
我知道有很多关于此的问题,但我确实经历了所有问题,并且让自己更加困惑,我列出了我遵循的步骤,请让我知道我在哪里搞砸了。
1) 我只想在应用程序级别使用 Log4j,所以需要复制 WL_HOME/server/lib/wllog4j.jar,以及 Domail_Home/Lib?
中的 log4j.jar
2) 我正在使用 Maven,我在我的 pom.xml [war] 中添加了 Log4j 依赖项。我的 WAR 包裹在 EAR 中。
3) 因为我想在 weblogic 托管服务器日志文件中写入日志,所以我创建了一个自定义附加程序,以使用 weblogic,如 link - https://blog.desgrange.net/2010/02/15/logging-in-weblogic-console-with-log4j.html[=13 中提到的 NonCatalogAppender =]
4) 我将日志文件复制到我的 war/src/main/resources 中,我看到 Maven 将它们添加到类路径中,即 war/target/classes,请参阅下面的 lo4j xml
http://jakarta.apache.org/log4j/'>
<!-- stdout appender settings -->
<appender name="STDOUT" class="com.xyz.logging.util.WeblogicAppender">
<param name="Threshold" value="DEBUG"/>
<layout class="org.apache.log4j.PatternLayout">
<!-- notes on patterns:
%p - priority (i.e. level) of message
%c - class that threw error
%m - message in logger's method, e.g. "Exiting application HERE..."
%n - carriage return
%d - date information
-->
<param name="ConversionPattern" value="%c{1} %m"/>
</layout>
</appender>
<!-- settings for root debugger -->
<root>
<level value="DEBUG"/>
<appender-ref ref="STDOUT"/>
</root>
5) 现在我没有在配置级别更改任何内容,但我没有看到任何附加到服务器日志的内容。当我手动初始化 NonCatlogLogger 并调用记录器时,它工作正常:
NonCatalogLogger logger =new NonCatalogLogger("XYZ");
logger.debug("This is the debug message")
6) 当我在 eclipse 中调试应用程序时,我的自定义附加程序似乎从未被调用过。
知道了,只需要在"server start".
下的参数中输入下面的内容
-Dweblogic.log.Log4jLoggingEnabled=true
我知道有很多关于此的问题,但我确实经历了所有问题,并且让自己更加困惑,我列出了我遵循的步骤,请让我知道我在哪里搞砸了。
1) 我只想在应用程序级别使用 Log4j,所以需要复制 WL_HOME/server/lib/wllog4j.jar,以及 Domail_Home/Lib?
中的 log4j.jar2) 我正在使用 Maven,我在我的 pom.xml [war] 中添加了 Log4j 依赖项。我的 WAR 包裹在 EAR 中。
3) 因为我想在 weblogic 托管服务器日志文件中写入日志,所以我创建了一个自定义附加程序,以使用 weblogic,如 link - https://blog.desgrange.net/2010/02/15/logging-in-weblogic-console-with-log4j.html[=13 中提到的 NonCatalogAppender =]
4) 我将日志文件复制到我的 war/src/main/resources 中,我看到 Maven 将它们添加到类路径中,即 war/target/classes,请参阅下面的 lo4j xml http://jakarta.apache.org/log4j/'>
<!-- stdout appender settings -->
<appender name="STDOUT" class="com.xyz.logging.util.WeblogicAppender">
<param name="Threshold" value="DEBUG"/>
<layout class="org.apache.log4j.PatternLayout">
<!-- notes on patterns:
%p - priority (i.e. level) of message
%c - class that threw error
%m - message in logger's method, e.g. "Exiting application HERE..."
%n - carriage return
%d - date information
-->
<param name="ConversionPattern" value="%c{1} %m"/>
</layout>
</appender>
<!-- settings for root debugger -->
<root>
<level value="DEBUG"/>
<appender-ref ref="STDOUT"/>
</root>
5) 现在我没有在配置级别更改任何内容,但我没有看到任何附加到服务器日志的内容。当我手动初始化 NonCatlogLogger 并调用记录器时,它工作正常:
NonCatalogLogger logger =new NonCatalogLogger("XYZ");
logger.debug("This is the debug message")
6) 当我在 eclipse 中调试应用程序时,我的自定义附加程序似乎从未被调用过。
知道了,只需要在"server start".
下的参数中输入下面的内容-Dweblogic.log.Log4jLoggingEnabled=true