修改配置原生log4j,使得指定的類檔案輸出到指定的檔案中(非Spring框架)
1.配置web.xml
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>1000</param-value>
</context-param>
<servlet>
<servlet-name>Log4JInitServlet</servlet-name>
<servlet-class>cn.com.conf.Log4JInitServlet</servlet-class>
<init-param>
<param-name>log4j-properties-location</param-name>
<param-value>/log4j.properties</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
2.增加log4j的java啟動
@WebServlet("/Log4JInitServlet")
public class Log4JInitServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Log4JInitServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see Servlet#init(ServletConfig)
*/
public void init(ServletConfig config) throws ServletException {
System.out.println("===>Log4JInitServlet 正在初始化 log4j日誌設定資訊");
String log4jLocation = config.getInitParameter("log4j-properties-location");
ServletContext sc = config.getServletContext();
if (log4jLocation == null) {
System.err.println("===>因為沒有 log4j-properties-location 初始化的檔案, 所以使用 BasicConfigurator初始化");
BasicConfigurator.configure();
} else {
String webAppPath = sc.getRealPath("/");
String log4jProp = webAppPath + log4jLocation;
File yoMamaYesThisSaysYoMama = new File(log4jProp);
if (yoMamaYesThisSaysYoMama.exists()) {
System.out.println("===>使用: " + log4jProp+"初始化日誌設定資訊");
PropertyConfigurator.configure(log4jProp);
} else {
System.err.println("===> " + log4jProp + " 檔案沒有找到, 所以使用 BasicConfigurator初始化");
BasicConfigurator.configure();
}
}
super.init(config);
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
3.增加log4j.propertity(粘點重要的)
log4j.rootLogger =DEBUG,logfile
#log4j.addivity.org.apache=false
log4j.logger.*.*.*=DEBUG,test
log4j.additivity.*.*.*=false(很重要)
log4j.appender.test=org.apache.log4j.DailyRollingFileAppender
log4j.appender.test.File=(需要一個特定的路徑)
log4j.appender.test.Threshold=DEBUG
log4j.appender.R.DatePattern =yyyyMMdd'.log
log4j.appender.test.layout=org.apache.log4j.PatternLayout
log4j.appender.test.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
4.啟動就可以了,這一段看了網上的大多的都沒有這麼全面的,希望能幫到大家。