我正在嘗試使用我的Java Web Aaplication第一次使用ServletContext進行日誌記錄。我沒有收到任何日誌文件。有人能告訴我我沒有做什麼嗎?Log4j不寫日誌文件
我的ServletContextListener:
@Override
public void contextInitialized(ServletContextEvent sce) {
ServletContext context = sce.getServletContext();
String prefix = context.getRealPath("/");
String file = "WEB-INF" + System.getProperty("file.separator") + "classes" + System.getProperty("file.separator") + "log4j.properties";
if (file != null) {
PropertyConfigurator.configure(prefix + file);
System.out.println("Log4J Logging started for application: " + prefix + file);
} else {
System.out.println("Log4J Is not configured for application Application: " + prefix + file);
}
}
我的web.xml中:
<listener>
<listener-class>com.kollega.listener.KollegaContextListener</listener-class>
</listener>
Log4j.properties文件:
log4j.logger.kollegalogger=DEBUG, C, fileappender
log4j.appender.fileappender=org.apache.log4j.RollingFileAppender
log4j.appender.fileappender.File=/WEB-INF/logs/kollega.log
log4j.appender.fileappender.MaxFileSize=500KB
我測試的Servlet:
private final Logger log = Logger.getLogger("kollegalogger");
log.debug(">>> Connectition TO database Successful for Login");
Logger.getLogger(LoginServlet.class.getName()).log(Level.FATAL, ">>>>Connectition TO database Successful for Login");
我只獲取DEBUG的輸出,但WEB-INF/logs/kollega.log中沒有日誌文件。我錯過了什麼?
編輯: * 我刪除$從文件路徑{} appRootPath和日誌是入門創建於C:/WEB-INF/logs/kollega.log。我需要它在我的WEB-INF目錄中 *
我在WEB-INF文件夾中仍然沒有任何日誌文件。我正在使用Netbeans。 :( – ErrorNotFoundException
查看我的編輯該文件正在創建C:/ WEB-INF ??? – ErrorNotFoundException
/WEB-INF是您的Web應用程序中的上下文文件夾 –