我知道有很多关于此的问题,但我确实经历了所有这些问题,并且有点混淆了我自己,我列出了我遵循的步骤,请让我知道我搞砸了哪里。
1)我只想在应用程序级别使用Log4j,因此需要复制WL_HOME / server / lib / wllog4j.jar和Domail_Home / Lib中的log4j.jar?
2)我正在使用Maven,我在我的pom.xml [war]中添加了Log4j依赖项。我的WAR包含在EAR中。
3)由于我想在weblogic托管服务器日志文件中编写日志,我创建了一个自定义appender,使用weblogic,NonCatalogAppender在链接中提到 - https://blog.desgrange.net/2010/02/15/logging-in-weblogic-console-with-log4j.html
4)我在war / src / main / resources中复制了日志文件,我看到maven将它们添加到classpath,即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中调试应用程序时,看起来我的自定义appender永远不会被调用。
答案 0 :(得分:0)
知道了,只需要在“服务器启动”下面填入参数。
-Dweblogic.log.Log4jLoggingEnabled =真