Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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
Logging Log4j2在WebLogic 12.2.1中不工作_Logging_Log4j_Weblogic_Log4j2_Weblogic12c - Fatal编程技术网

Logging Log4j2在WebLogic 12.2.1中不工作

Logging Log4j2在WebLogic 12.2.1中不工作,logging,log4j,weblogic,log4j2,weblogic12c,Logging,Log4j,Weblogic,Log4j2,Weblogic12c,我试图在WebLogic 12.2.1下运行的web服务中添加log4j日志记录,但不知何故日志记录不起作用 这是我的WAR文件的WEB-INF\classes中的log4j2.xml: <?xml version="1.0" encoding="UTF-8"?> <Configuration status="DEBUG"> <Properties> <Property name="log-path">E:/MLM/MyDo

我试图在WebLogic 12.2.1下运行的web服务中添加log4j日志记录,但不知何故日志记录不起作用

这是我的WAR文件的WEB-INF\classes中的log4j2.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="DEBUG">
    <Properties>
        <Property name="log-path">E:/MLM/MyDomain/servers/MyAppSrv01/logs</Property>
    </Properties>
    <Appender type="File" name="File" fileName="${log-path}/Services.log" filePattern="${log-path}/Services-%d{yyyy-MM-dd}.log">
        <Layout type="PatternLayout">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Layout>
    </Appender>
    <Loggers>
        <Root level="INFO">
            <AppenderRef ref="File"/>
        </Root>
    </Loggers>
</Configuration>
在WAR文件的WEB-INF\lib\中,我有:

log4j-core-2.5.jar
log4j-api-2.5.jar
我可以使用客户端程序成功地调用web服务。但是我根本没有看到日志文件被创建。有什么问题吗


提前感谢。

对于WebLogic 12.1.3及更高版本,我需要在WebLogic.xml文件中添加以下内容,以使log4j正常工作

<wls:container-descriptor>
        <wls:prefer-application-packages>
            <wls:package-name>org.slf4j</wls:package-name>
            <wls:package-name>log4j</wls:package-name>
        </wls:prefer-application-packages>
</wls:container-descriptor>

org.slf4j
log4j

我认为这是由weblogic load
org.hibernate.validator.internal.util.Version
在部署应用程序之前导致的,该类将在您想要设置属性替换之前过早初始化log4j2 LogManager。

它不起作用。我尝试了org.apache.logging.log4j,结果是一样的。根本没有创建日志文件。我在WAR文件的WEB-INF\classes中log4j2.xml的位置正确吗?问题似乎出在我的log4j2.xml文件上。我通过从中复制示例来重新实现它,现在它正在工作。@Brian为什么需要添加“”?@gaurav这允许您使用与应用程序捆绑在一起的这些包的版本,而不是WebLogic中包含的包,这些包通常有点旧,有时过时。
<wls:container-descriptor>
        <wls:prefer-application-packages>
            <wls:package-name>org.slf4j</wls:package-name>
            <wls:package-name>log4j</wls:package-name>
        </wls:prefer-application-packages>
</wls:container-descriptor>