2016-03-03 413 views
1

我想在weblogic 12.2.1下运行的web服务中添加log4j日志记录,但不知何故日志记录不起作用。Log4j2不能在WebLogic 12.2.1中工作

这是我的WAR文件的WEB-INF \类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> 

这里是我的web服务代码片段:

@Path("TestWS") 
@Consumes("text/plain") 
@Produces("text/plain") 
public class TestWS { 

    static private Logger logger = LogManager.getLogger(); 

    public TestWS() {} 

    @GET 
    @Produces(MediaType.TEXT_PLAIN) 
    @Path("webservicemethod1") 
    public String webservicemethod1(@Context HttpServletRequest request) { 
     logger.error("In webservicemethod1"); 
     .... 
    } 

} 

在WEB-INF \ lib中\我的WAR文件,我有:

log4j-core-2.5.jar 
log4j-api-2.5.jar 

我可以使用客户端程序成功地调用Web服务。但是我没有看到日志文件被创建。可能是什么问题呢?

在此先感谢。

回答

2

对于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> 
+0

它不起作用。我试着用 org.apache.logging.log4j,它是一样的。根本没有创建日志文件。 WAR文件中的WEB-INF \ classes中的log4j2.xml位置正确吗? – user3573403

+0

看起来问题在于我的log4j2.xml文件。我通过从https://examples.javacodegeeks.com/enterprise-java/log4j/log4j-2-rollingfileappender-example/中的示例进行复制来重新执行它,现在它正在工作。 – user3573403

相关问题