Ниже приведен файл log4j.properties, который я использовал в проекте для создания журналов.Но журналы не генерируются в указанном месте.
log4j.rootLogger=DEBUG,file
#log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.org.apache.ibatis.MaxFileSize=15MB
log4j.appender.org.apache.ibatis.MaxBackupIndex=10
log4j.appender.file.File=E:\logs\file.log
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p] %d %c %M - %m%n
Итак, я написал пример jsp, как показано ниже, и обнаружил, что out.println(app.getClass());
возвращает только класс ConsoleAppender
, и это происходит, когда я развертываю код в TOMCAT на windows server 2012.Если тот же код развернут на Windows Server 2008 на TOMCAT, журналы генерируются правильно, а также возвращается соответствующий appender, упомянутый в файле свойств.Я попытался разместить местоположение журнала внутри и снаружи папки Tomcat, но все равно не повезло.версия log4j, которую мы используем - 1.2.17.
<%@page import="org.apache.log4j.*"%>
<%@page import="java.io.*"%>
<%@page import="java.lang.*"%>
<%@page import="java.util.*"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%! static Logger logger = Logger.getLogger("sample_jsp");
%>
<%
Enumeration e = Logger.getRootLogger().getAllAppenders();
while ( e.hasMoreElements() ){
Appender app = (Appender)e.nextElement();
out.println(app.getClass());
if ( app instanceof ConsoleAppender ){
//out.println("File: " + ((ConsoleAppender)app).getFile());
}
}
%>
</body>
</html>
В чем может быть причина ненормального поведения?Пожалуйста, помогите