2009-10-28 94 views
0

我無法從Web服務中查找/獲取任何日誌記錄輸出。Web服務日誌記錄不輸出,但未失敗

我必須通過在容器的tomcat6的Axis2運行一個Web服務,該.aar文件包含此結構:

root/ 
    log4j.properties 
    lib/ 
     slf4j-api.jar 
     slf4j-log4j12.jar 
     log4j-1.2.jar 
    com/ 
     all of my classes 
    META-INF/ 
     services.xml 

的服務很簡單,現在,只要:

public class MyService { 

    private static Logger log = LoggerFactory.getLogger(MyService.class); 

    public String echo(String toLog) { 
     log.error("Entered echo with [{}]", toLog); 

     return "Echo: " + toLog; 
    } 
} 

運行時通過命令行中的jar文件創建主命令,日誌記錄工作正常,但作爲Web服務訪問時,不會創建日誌文件,但也不會遇到錯誤。客戶端收到「Echo:」+日誌字符串,因爲它預期。

下面是log4j.properties相關位

### direct messages to file myservice.log ### 
log4j.appender.file=org.apache.log4j.FileAppender 
log4j.appender.file.File=/var/lib/tomcat6/logs/myservice.log 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n 

### set log levels - for more verbose logging change 'info' to 'debug' ### 

log4j.rootLogger=warn, file 

我必須在錯誤的位置log4j.properties文件?或者在這裏發生了其他事情?

回答

1

Axis2作爲Tomcat中的Web應用程序部署,並具有自己的日誌記錄配置(公用日誌記錄)。由於它是調用服務方法的一個方法,因此您的日誌記錄很可能位於某處的Axis2日誌文件中。

你可能想知道如何讓你的服務日誌到自己的文件。我認爲你必須改變Axis2的日誌配置,並添加一個專門用於你的服務的appender。