Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Weblogic12+;Log4j日志记录未写入服务器日志_Java_Maven_Logging_Log4j_Weblogic12c - Fatal编程技术网

Java Weblogic12+;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,

我知道有很多关于这个的问题,但我确实经历了所有这些问题,我更困惑了,我列出了我遵循的步骤,请让我知道我把事情搞砸了

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/“>

  <!-- 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")