2007年7月18日 星期三

分享:如何在 Tomcat 中使用 log4j 的 DailyRollingFileAppender

1. 如果要以Log4j取代原先Tomcat所使用之log mechanism

1.1將log4j-1.2.8.jar copy into TOMCAT HOME\common\lib

1.2 create one file log4j.properties and save it into TOMCAT HOME\common\classes

1.3如果沒有將log4j.properties copy into TOMCAT HOME\common\classes,則在啟動Tomcat時會出現

log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester).

log4j:WARN Please initialize the log4j system properly.

2. 如果要以Log4j提供web application進行log

2.1將log4j-1.2.8.jar copy into web ap\WEB-INF\lib

2.2 create one file log4j.properties and save it into web ap\WEB-INF\classes(絕不可在其他目錄,即使是

此目錄之子目錄下亦不允許)

2.3如果沒有將log4j.properties copy into web ap\WEB-INF\classes,則在啟動Tomcat時會出現

log4j:WARN No appenders could be found for logger (org.apache.struts.util.PropertyMessageResources).

log4j:WARN Please initialize the log4j system properly.

3. 如果要將log寫入到一個檔案中,則在log4j.properties中之

log4j.appender.AFile.File=d:/logFile.logè一定要指定絕對路徑,且separator需為/

4. 如果web ap中所有的log要寫到同一個log file

log4j.properties
.java

log4j.rootLogger=INFO, admin

log4j.appender.admin=org.apache.log4j.FileAppender

log4j.appender.admin.File=d:/AnMeiLogAdmin.log

log4j.appender.admin.Append=false

log4j.appender.admin.layout=org.apache.log4j.PatternLayout

log4j.appender.admin.layout.ConversionPattern=%p %t %c - %m %n


static Logger logger = Logger.getLogger(AdminAction.class.getName());





logger.info("Admin log");




5. 如果web ap中每個class要寫到各自之log file

log4j.properties
.java

log4j.category.profile=INFO, profile

log4j.appender.profile=org.apache.log4j.FileAppender

log4j.appender.profile.File=d:/AnMeiLogProfile.log

log4j.appender.profile.Append=false

log4j.appender.profile.layout=org.apache.log4j.PatternLayout

log4j.appender.profile.layout.ConversionPattern=%p %t %c - %m %n


static Category logger = Category.getInstance("profile");





logger.info("Profile log");






6. 如果web ap中每個package要寫到各自之log file

log4j.properties
.java

log4j.logger.com.anmei.db=INFO, package

log4j.appender.package=org.apache.log4j.FileAppender

log4j.appender.package.File=d:/AnMeiLogPackage.log

log4j.appender.package.Append=false

log4j.appender.package.layout=org.apache.log4j.PatternLayout

log4j.appender.package.layout.ConversionPattern=%p %t %c - %m %n


static Logger logger = Logger.getLogger("com.anmei.db");





logger.info("Package log");

沒有留言: