2014-02-21 65 views
0

我有一個在其WEB-INF/lib中使用EJB jar的web項目。 EJB使用log4j,並擁有自己的屬性文件。如何在Web項目中使用的EJB JAR中啓用log4j appender?

log4j.rootLogger=DEBUG,R 
log4j.appender.R=org.apache.log4j.RollingFileAppender 
log4j.appender.R.File=C:/Documents and Settings/u10981/Escritorio/log_C1.log 
log4j.appender.R.MaxFileSize=3072KB 
log4j.appender.R.MaxBackupIndex=5 
log4j.appender.R.DatePattern='.'yyyy-MM-dd 
log4j.appender.R.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss}] - %m%n 

log4j.appender.C=org.apache.log4j.ConsoleAppender 
log4j.appender.C.layout=org.apache.log4j.PatternLayout 
log4j.appender.C.layout.ConversionPattern=[%p][%C][%d{yyyy-MM-dd HH:mm:ss}] - %m%n 

當我在JBoss上部署Web項目時,程序運行良好,但日誌沒有寫入。但在Eclipse的控制檯中,日誌顯示爲正常。我認爲appender工作不正常。我怎樣才能解決這個問題?

+1

您知道,當您直接使用文件系統時,您會離開servlet規範並進入供應商特定領域嗎?請考慮使用slf4j並登錄到jdk14後端,以便服務器收集日誌。 –

+0

我無法改變那個特定。記錄器必須來自應用程序本身,並且其位置必須位於服務器路徑的外部。 – Xanathos

回答

0

好的,我放棄了你的建議,ThorbjørnRavn Andersen。 (或者我認爲)

我用另一篇文章的信息來創建一個在JBoss的standalone.xml中的appender和一個處理程序來保存它,只是路徑是絕對的,而且是的,對任何良好的做法都必須是那樣。

 <periodic-rotating-file-handler name="FILETWO"> 
      <formatter> 
       <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/> 
      </formatter> 
      <file path="C:/Documents and Settings/u10981/Escritorio/log_C1.log"/> 
      <suffix value=".yyyy-MM-dd"/> 
      <append value="true"/> 
     </periodic-rotating-file-handler> 
 <logger category="pe.com.projectavalon.Prueba"> 
      <level name="DEBUG"/> 
      <handlers> 
       <handler name="CONSOLE"/> 
       <handler name="FILE"/> 
       <handler name="FILETWO"/> 
      </handlers> 
     </logger> 

,因爲我希望該日誌保存。所以一切都解決了感謝您的幫助=)

相關問題