2013-11-21 14 views
0

我在我的應用程序中使用log4j。現在我已經創建了屬性文件。如何在所有Java類中訪問此屬性文件。任何人都可以請解釋一下嗎?如何訪問所有類中的log4j屬性?

# Root logger option 
log4j.rootLogger=INFO, file, stdout 
# Direct log messages to a log file 
log4j.appender.file=org.apache.log4j.RollingFileAppender 
log4j.appender.file.File=${rootPath}WEB-INF/logs/MyLog.log 
log4j.appender.file.MaxFileSize=1MB 
log4j.appender.file.MaxBackupIndex=1 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 
# Direct log messages to stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 

回答

0
import org.apache.log4j.Logger; 

import java.io.*; 
import java.sql.SQLException; 
import java.util.*; 

public class log4jExample{ 
    /* Get actual class name to be printed on */ 
    static Logger log = Logger.getLogger(
         log4jExample.class.getName()); 

    public static void main(String[] args) 
       throws IOException,SQLException{ 

    log.debug("Hello this is an debug message"); 
    log.info("Hello this is an info message"); 
    } 
} 
+0

我已經以相同的方式完成,但我沒有得到它。 –

+0

什麼是$ {rootPath}在您的配置中引用。仔細檢查一下。 –

+0

給出rootPath以將文件存儲到該loction .. –

0

嘗試添加該到你的web.xml,如果你還沒有加入已經

<context-param> 
<param-name>log4jConfigLocation</param-name> 
<param-value>./conf/log4j.properties</param-value> 
</context-param> 
<context-param> 
<param-name>log4jRefreshInterval</param-name> 
<!-- Refresh log4j configuration every 5 minutes. --> 
<param-value>300000</param-value> 
</context-param> 

<listener> 
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 
</listener> 
0

檢查catalina.log任何錯誤。確保log4j被正確初始化。如果您有多個log4j jar文件(一個在您的上下文中,另一個在tomcat/lib中),它可能沒有正確初始化。嘗試刪除重複的罐子