log4j 文件輸出
更新時(shí)間:2007年02月07日 00:00:00 作者:
寫(xiě)一個(gè)動(dòng)態(tài)生成Properties(log4j.properties加載到內(nèi)存中的形式)的類(lèi),指定,可實(shí)現(xiàn)動(dòng)態(tài)修改任何東西!
======================
目錄不可以創(chuàng)建,但是log文件是自動(dòng)創(chuàng)建得呢
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=C:\bea\user_projects\domain\log
==============================
你可以將log4j的配置信息寫(xiě)在一個(gè)文件中,比如sort.properties
然后利用servlet對(duì)log4j進(jìn)行初始化,使它在服務(wù)器啟動(dòng)的時(shí)候就初始化了log4j。
至于你要隨時(shí)修改日志輸出目的地的話,只要修改配置文件中的log4j.appender.A2.File就行了
===================================
sort.properties 內(nèi)容如下:
#1 定義了兩個(gè)輸出端
log4j.rootLogger = debug, A1, A2
#2 定義A1輸出到控制器
log4j.appender.A1 = org.apache.log4j.ConsoleAppender
#3 定義A1的布局模式為PatternLayout
log4j.appender.A1.layout = org.apache.log4j.PatternLayout
#4 定義A1的輸出格式
log4j.appender.A1.layout.ConversionPattern = %-4r [%t] %-5p %c - %m%n
#5 定義A2輸出到文件
log4j.appender.A2 = org.apache.log4j.RollingFileAppender
#6 定義A2要輸出到哪一個(gè)文件
log4j.appender.A2.File = D:\\hello.log
#7 定義A2的輸出文件的最大長(zhǎng)度
log4j.appender.A2.MaxFileSize = 1KB
#8 定義A2的備份文件數(shù)
log4j.appender.A2.MaxBackupIndex = 3
#9 定義A2的布局模式為PatternLayout
log4j.appender.A2.layout = org.apache.log4j.PatternLayout
#10 定義A2的輸出格式
log4j.appender.A2.layout.ConversionPattern = %d{yyyy-MM-dd hh:mm:ss}:%p %t %c - %m%n
============================
初始化log4j的servlet代碼如下:
package com.ctc.Init;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import org.apache.log4j.*;
public class Log4jInit extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
public static Logger logger = Logger.getLogger(Log4jInit.class.getName());
//Initialize global variables
public void init() throws ServletException {
//通過(guò)web.xml來(lái)動(dòng)態(tài)取得配置文件
String prefix = getServletContext().getRealPath("/");
String file = getInitParameter("log4j-init-file");
// 如果沒(méi)有給出相應(yīng)的配置文件,則不進(jìn)行初始化
if (file != null) {
PropertyConfigurator.configure(prefix + file);
}
}
public void doGet(HttpServletRequest req, HttpServletResponse res) {
}
}
////////////////////////////////////////////////////////////////
web.xml中的相關(guān)配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<display-name>systemapp</display-name>
<servlet>
<servlet-name>Log4jInit</servlet-name>
<servlet-class>com.ctc.Init.Log4jInit</servlet-class>
<init-param>
<param-name>log4j-init-file</param-name>
<param-value>sort.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
</web-app>
======================
目錄不可以創(chuàng)建,但是log文件是自動(dòng)創(chuàng)建得呢
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=C:\bea\user_projects\domain\log
==============================
你可以將log4j的配置信息寫(xiě)在一個(gè)文件中,比如sort.properties
然后利用servlet對(duì)log4j進(jìn)行初始化,使它在服務(wù)器啟動(dòng)的時(shí)候就初始化了log4j。
至于你要隨時(shí)修改日志輸出目的地的話,只要修改配置文件中的log4j.appender.A2.File就行了
===================================
sort.properties 內(nèi)容如下:
#1 定義了兩個(gè)輸出端
log4j.rootLogger = debug, A1, A2
#2 定義A1輸出到控制器
log4j.appender.A1 = org.apache.log4j.ConsoleAppender
#3 定義A1的布局模式為PatternLayout
log4j.appender.A1.layout = org.apache.log4j.PatternLayout
#4 定義A1的輸出格式
log4j.appender.A1.layout.ConversionPattern = %-4r [%t] %-5p %c - %m%n
#5 定義A2輸出到文件
log4j.appender.A2 = org.apache.log4j.RollingFileAppender
#6 定義A2要輸出到哪一個(gè)文件
log4j.appender.A2.File = D:\\hello.log
#7 定義A2的輸出文件的最大長(zhǎng)度
log4j.appender.A2.MaxFileSize = 1KB
#8 定義A2的備份文件數(shù)
log4j.appender.A2.MaxBackupIndex = 3
#9 定義A2的布局模式為PatternLayout
log4j.appender.A2.layout = org.apache.log4j.PatternLayout
#10 定義A2的輸出格式
log4j.appender.A2.layout.ConversionPattern = %d{yyyy-MM-dd hh:mm:ss}:%p %t %c - %m%n
============================
初始化log4j的servlet代碼如下:
package com.ctc.Init;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import org.apache.log4j.*;
public class Log4jInit extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
public static Logger logger = Logger.getLogger(Log4jInit.class.getName());
//Initialize global variables
public void init() throws ServletException {
//通過(guò)web.xml來(lái)動(dòng)態(tài)取得配置文件
String prefix = getServletContext().getRealPath("/");
String file = getInitParameter("log4j-init-file");
// 如果沒(méi)有給出相應(yīng)的配置文件,則不進(jìn)行初始化
if (file != null) {
PropertyConfigurator.configure(prefix + file);
}
}
public void doGet(HttpServletRequest req, HttpServletResponse res) {
}
}
////////////////////////////////////////////////////////////////
web.xml中的相關(guān)配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<display-name>systemapp</display-name>
<servlet>
<servlet-name>Log4jInit</servlet-name>
<servlet-class>com.ctc.Init.Log4jInit</servlet-class>
<init-param>
<param-name>log4j-init-file</param-name>
<param-value>sort.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
</web-app>
相關(guān)文章
JavaWeb實(shí)現(xiàn)圖形報(bào)表折線圖的方法
這篇文章主要介紹了JavaWeb實(shí)現(xiàn)圖形報(bào)表折線圖的方法,涉及JSP包的引用、圖形操作、配置文件設(shè)置及字符串操作技巧,需要的朋友可以參考下2016-06-06
讀取數(shù)據(jù)庫(kù)的數(shù)據(jù)并整合成3D餅圖在jsp中顯示詳解
這篇文章主要給大家介紹了關(guān)于讀取數(shù)據(jù)庫(kù)的數(shù)據(jù)并整合成3D餅圖在jsp中顯示的相關(guān)資料,文中通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-07-07
hibernate中的增刪改查實(shí)現(xiàn)代碼
在hibernate中的增刪改查的實(shí)現(xiàn)。hibernate是OR框架,也就是對(duì)象關(guān)系框架,有了 hibernate我們就不用再去寫(xiě)SQL語(yǔ)言,我們只需要操縱對(duì)象去進(jìn)行增刪改查。這里今天寫(xiě)的就是在如何應(yīng)用hibernate實(shí)現(xiàn)增刪改查。2009-01-01
JSP開(kāi)發(fā)中在spring mvc項(xiàng)目中實(shí)現(xiàn)登錄賬號(hào)單瀏覽器登錄
這篇文章主要介紹了JSP開(kāi)發(fā)中在spring mvc項(xiàng)目中實(shí)現(xiàn)登錄賬號(hào)單瀏覽器登錄的相關(guān)資料,需要的朋友可以參考下2017-05-05
jsp+ajax實(shí)現(xiàn)無(wú)刷新(鼠標(biāo)離開(kāi)文本框即驗(yàn)證用戶(hù)名)實(shí)現(xiàn)思路
jsp+ajax實(shí)現(xiàn)無(wú)刷新,鼠標(biāo)離開(kāi)文本框即驗(yàn)證用戶(hù)名,很方便的功能,感興趣的朋友可以了解下,或許對(duì)你學(xué)習(xí)ajax無(wú)刷新有所幫助2013-01-01

