2012-10-12 38 views
1

我在執行日誌時遇到問題。我有兩個項目:一個是servlet,另一個是簡單的java文件。 private static Logger logger=Logger.getLogger(myServiceServlet.class);這工作正常。它的寫日誌我開始運行Tomcat服務器。但同樣的事情並沒有在我的簡單java文件中實現,它轉換成WS並嘗試部署在axis/Tomcat服務器上。 Servlet直接在Tomcat服務器上運行。 但是java文件被轉換成Axis2 ---> Tomcat服務器內部的Webservice.aar。日誌不在java文件內部工作。但在servlet中工作

登錄性質在

# Log levels 
log4j.rootLogger=INFO,CONSOLE,R 

# Appender Configuration 
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 

# Pattern to output the caller's file name and line number 
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n 

# Rolling File Appender 
log4j.appender.R=org.apache.log4j.RollingFileAppender 

# Path and file name to store the log file 
log4j.appender.R.File=C:/res backup/apache-tomcat-6.0.35/webapps/mylog/logs/servicelog.log 
log4j.appender.R.MaxFileSize=2048KB 

# Number of backup files 
log4j.appender.R.MaxBackupIndex=50 

# Layout for Rolling File Appender 
log4j.appender.R.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%d - %c - %p - %m%n` 
+0

你能分享你的日誌配置嗎?你在哪裏期待輸出? –

+0

與記錄器相關的任何警告。看起來像記錄器沒有正確初始化。 – rbhawsar

+0

@rbhwasar ...沒有錯誤。它只是在記錄器內寫入Servlet日誌文件,而不是WS文件... –

回答

0

的.aar文件不在同一語境在WEB-INF/lib目錄中的JAR運行。

它們共享某種上下文,因爲您可以加載對WEB-INF/lib類的引用,但此時它不是100%一致的。

我建議你在你的.aar文件中構建某種包裝,它們不做任何事情,然後將調用轉發到位於WEB-INF/lib中的JAR文件的方法中。

您只需確保將正確的.aar引用加載到WEB-INF/lib上下文中的方法。

在.aar類中拋出錯誤我會建議你抓住它們然後拋出一個「AxisFault」。

throw new AxisFault(err.getMessage()); 

http://axis.apache.org/axis2/java/core/api/org/apache/axis2/AxisFault.html

這樣,我們已經能夠解決幾乎所有的問題與.aar文件的內容。

塞巴斯蒂安

相關問題