public void init() throws ServletException {
//WEB-INFO/palog4j.xml
//org.w3c.dom.Document
Element root = getConfigure("palog4j.xml").getDocumentElement();
// 初始化log4j
configLog4j(root);
}
Document getConfigure(String configFile) {
InputStream inputStream = this.getClass().getClassLoader()
.getResourceAsStream("palog4j.xml");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = null;
try {
builder = factory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
System.out.println("ERROR -*- occur error building xml document");
e.printStackTrace();
}
Document document = null;
try {
document = builder.parse(inputStream);
} catch (SAXException e) {
System.out
.println("ERROR -*- a SAX error occurs when reading configure file");
e.printStackTrace();
} catch (IOException e) {
System.out
.println("ERROR -*- an I/O error occurs when reading configure file error");
e.printStackTrace();
}
System.out.println("OK! -*- succeed read configure file");
return document;
}
void configLog4j(Element rootElement) {
Element log4jEle = (Element) rootElement.getElementsByTagName(
"log4j:configuration").item(0);
DOMConfigurator.configure(log4jEle);
logger.info("DRF==OK -*- succeed config log4j");
}
<log4j>
<!--log4j日志配置信息-->
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %C{2} (%F:%L) - %m%n" />
</layout>
</appender>
<appender name="A1" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="c://position.log" />
<param name="Append" value="true" />
<param name="MaxFileSize" value="1MB" />
<param name="MaxBackupIndex" value="1" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %C{2} - %m%n" />
</layout>
</appender>
<appender name="A2" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="c://position.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %C{2} - %m%n" />
</layout>
</appender>
<root>
<priority value="INFO" />
<appender-ref ref="A2" />
<appender-ref ref="STDOUT" />
</root>
</log4j:configuration>
</log4j>