2013-12-19 51 views

回答

5

log4j.properties通常從Web應用程序的類路徑讀取,因此您可以將它放入src/main/resources

+0

我不得不改變我的build.gradle除了添加slf4j,log4j和slf4j-log4j12?我將log4j.properties文件添加到src/main/java。這是錯的嗎 ?我是否需要對web.xml配置進行任何更改? –

+0

要添加哪個罐取決於你如何使用log4j。 'src/main/java'是錯誤的。不需要更改'web.xml'。 –

+0

slf4j-api.jar等...雖然我添加了log4j.properties,但它並沒有進入tomcat中的war文件。我想我必須把它寫在主gradle.build文件中。我對麼 ?你能幫我把這段代碼添加到gradle.build中嗎? –

2

enter image description here

//import org.slf4j.Logger; 

//import org.slf4j.LoggerFactory; 

import org.apache.log4j.Logger; 

public class Log4jTest { 

//Slf4J 
//final static Logger logger = LoggerFactory.getLogger(Log4jTest.class); 


//Log4J 
final static Logger logger = Logger.getLogger(Log4jTest.class); 

public static void main(String[] args) { 
    logger.info("Logging with Log 4J starts"); 

    Log4jTest obj = new Log4jTest(); 

    try{ 
     obj.divide(); 
    }catch(ArithmeticException ex){ 
     logger.error("Sorry, something wrong!", ex); 
    } 


} 

private void divide(){ 

    int i = 10 /0; 

} 

} 

** Log4J的屬性文件**

# Root logger option 
log4j.rootLogger=INFO, file, stdout 

# Redirect log messages to console 
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 

# Rirect log messages to a log file 
log4j.appender.file=org.apache.log4j.RollingFileAppender 
log4j.appender.file.File=E:\\Logging\\log4j-application.log 
log4j.appender.file.MaxFileSize=5MB 
log4j.appender.file.MaxBackupIndex=10 
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 

**的依賴性的build.gradle **

dependencies { 
compile group: 'commons-collections', name: 'commons-collections', version: '3.2' 
testCompile group: 'junit', name: 'junit', version: '4.+' 
compile 'log4j:log4j:1.2.17' 
compile 'org.slf4j:slf4j-log4j12:1.7.18' 
} 
相關問題