Java Weblogic12+;Log4j日志记录未写入服务器日志
我知道有很多关于这个的问题,但我确实经历了所有这些问题,我更困惑了,我列出了我遵循的步骤,请让我知道我把事情搞砸了 1) 我只想在应用程序级别使用Log4j,所以需要复制WL_HOME/server/lib/wllog4j.jar和Domail_HOME/lib中的Log4j.jar吗 2) 我使用的是Maven,我在pom.xml[war]中添加了Log4j依赖项。我在EAR中包装了war 3) 因为我想在weblogic托管服务器日志文件中写入日志,所以我创建了一个自定义的appender,以使用weblogic,非CatalogAppender,如链接中所述- 4) 我在war/src/main/resources中复制了日志文件,我看到maven将它们添加到了类路径,即war/target/classes,我的LO4JXML见下文 http://jakarta.apache.org/log4j/“>Java Weblogic12+;Log4j日志记录未写入服务器日志,java,maven,logging,log4j,weblogic12c,Java,Maven,Logging,Log4j,Weblogic12c,我知道有很多关于这个的问题,但我确实经历了所有这些问题,我更困惑了,我列出了我遵循的步骤,请让我知道我把事情搞砸了 1) 我只想在应用程序级别使用Log4j,所以需要复制WL_HOME/server/lib/wllog4j.jar和Domail_HOME/lib中的Log4j.jar吗 2) 我使用的是Maven,我在pom.xml[war]中添加了Log4j依赖项。我在EAR中包装了war 3) 因为我想在weblogic托管服务器日志文件中写入日志,所以我创建了一个自定义的appender,
<!-- 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>
6) 当我在eclipse中调试应用程序时,似乎从未调用过我的自定义appender。明白了,只需在“服务器启动”下的参数中添加以下内容
-Dweblogic.log.Log4jLoggingEnabled=true您的记录器和追加器的阈值为
DEBUG
,但您正试图在跟踪
级别进行日志记录。这低于DEBUG
,因此不会被记录。对于混淆,我很抱歉,这只是一个示例,使用NonCatalog[手动]它正在记录,而weblogic没有读取LOg4jConfix.xml。下面的服务器日志::……我已经做了上面的更改。。。。
NonCatalogLogger logger =new NonCatalogLogger("XYZ");
logger.debug("This is the debug message")