<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    suzixu

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      4 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks
    第一步:先定義一個簡單的log4j工廠類,很簡單,直接繼承Logger
    import org.apache.log4j.Logger;
    import org.apache.log4j.PropertyConfigurator;

    /**
     * 自定義的Logger工廠類,繼承自Logger
     * 
     * 
    @author 見習和尚
     * 
    @since 2010
     * 
    @version v1.0
     
    */

    public class LogFactory extends Logger{

        
    /**
         * 靜態塊---初始化log4j配置文件
         
    */

        
    static {
            
    //log4j配置文件路徑
            PropertyConfigurator.configure("D:\\workspace\\LogWeb\\src\\log4j.properties");
        }

        
        
    /**
         * 重載的構造方法
         * 
    @param name
         
    */

        
    protected LogFactory(String name) {
            
    super(name);
        }

    }


    第二步:在classpath下創建并配置log4j配置文件,配置文件如下(注釋已經寫的很清楚了):
    log4j.properties配置文件如下,可直接copy使用
    ## defined log level;log to Console and to file and to DB
    log4j.rootCategory
    =DEBUG, stdout , R ,DATABASE
    ## printout log to Console
    log4j.appender.stdout
    =org.apache.log4j.ConsoleAppender
    ## log format
    log4j.appender.stdout.layout
    =org.apache.log4j.PatternLayout
    ## Console log format
    ## log4j.appender.stdout.layout.ConversionPattern
    =[QC] %p [%t] %C.%M(%L) | %m%n
    log4j.appender.stdout.layout.ConversionPattern
    =%d{yyyy-MM-dd hh:mm:ss} | [%t] (%F:%L) | %m%n

    ## defined each day create a 
    new logfile
    log4j.appender.R
    =org.apache.log4j.DailyRollingFileAppender

    ## 
    '.'yyyy-MM: each month
    ## 
    '.'yyyy-ww: each week
    ## 
    '.'yyyy-MM-dd: each day
    ## 
    '.'yyyy-MM-dd-a: two files one day
    ## 
    '.'yyyy-MM-dd-HH: per hours
    ## 
    '.'yyyy-MM-dd-HH-mm: per minites
    log4j.appender.R.DatePattern
    ='.'yyyy-MM-dd-HH-mm
    ## defined logfile path
    log4j.appender.R.File
    =D\:\\Program Files\\apache-tomcat-6.0.28\\logs\\gc.log
    log4j.appender.R.layout
    =org.apache.log4j.PatternLayout
    ## 
    %d means date time; %t means which method;
    ## 
    %F means file;%c means class name; %L means which line;
    ## 
    %m means message which we want to print; %n means "\r\n" in windows and "\n" in unix
    ## 
    %p means print log level; %d{yyyy-MM-dd hh:mm:ss} means print "yyyy-MM-dd hh:mm:ss" date
    log4j.appender.R.layout.ConversionPattern
    =%d{yyyy-MM-dd hh:mm:ss} | [%t] (%F:%L) | %m%n

    # in database
    log4j.appender.DATABASE.BufferSize
    =10
    log4j.appender.DATABASE
    =org.apache.log4j.jdbc.JDBCAppender
    log4j.appender.DATABASE.URL
    =jdbc\:mysql\://localhost\:3306/test
    log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
    log4j.appender.DATABASE.user
    =root
    log4j.appender.DATABASE.password
    =password
    log4j.appender.DATABASE.sql
    =INSERT INTO Log4j(message) VALUES ('[framework] %d{yyyy-MM-dd hh\:mm\:ss} | [%t] (%F\:%L) | %m%n'
    log4j.appender.DATABASE.layout
    =org.apache.log4j.PatternLayout 

    log4j.logger.com.neusoft
    =DEBUG
    log4j.logger.com.opensymphony.oscache
    =ERROR
    log4j.logger.net.sf.navigator
    =ERROR
    log4j.logger.org.apache.commons
    =ERROR
    log4j.logger.org.apache.struts
    =WARN
    log4j.logger.org.displaytag
    =ERROR
    log4j.logger.org.springframework
    =DEBUG
    log4j.logger.com.ibatis.db
    =WARN
    log4j.logger.org.apache.velocity
    =FATAL
    log4j.logger.com.canoo.webtest
    =WARN
    log4j.logger.org.hibernate.ps.PreparedStatementCache
    =WARN
    log4j.logger.org.hibernate
    =DEBUG
    log4j.logger.org.logicalcobwebs
    =WARN 

    第三部:在代碼中使用log4j,樣例如下:
    import org.apache.log4j.Logger;
    import org.apache.log4j.Priority;

    import com.sys.common.util.log.LogFactory;

    public class TestLog4j {
        
    static Logger logger = LogFactory.getLogger(TestLog4j.class.getName());

        
    public TestLog4j() {
        }


        
    public static void main(String[] args) {
            logger.debug(
    "Start of the main() in TestLog4j");
            logger.info(
    "Just testing a log message with priority set to INFO");
            logger.warn(
    "Just testing a log message with priority set to WARN");
            logger.error(
    "Just testing a log message with priority set to ERROR");
            logger.fatal(
    "Just testing a log message with priority set to FATAL");
            logger.log(Priority.WARN, 
    "Testing a log message use a alternate form");
        }

    }

    OK!在java application應用中這樣配置就結束了。樣例支持三種輸出:1、控制臺 2、文件 3、數據庫

    另外:如果要在web中使用log4j。只需額外定義一個log4j加載類并配置web.xml即可。加載類如下:
    import org.apache.log4j.PropertyConfigurator;
    import javax.servlet.http.HttpServlet;

    public class Log4jInit extends HttpServlet {

        
    public void init() {
            String prefix 
    = getServletContext().getRealPath("/");
            String file 
    = getInitParameter("log4j");
            
    if (file != null{
                PropertyConfigurator.configure(prefix 
    + file);
            }

        }

    }

    web.xml中增量配置如下:
        <servlet>
            
    <servlet-name>log4j</servlet-name>
            
    <servlet-class>com.apache.jakarta.log4j.Log4jInit</servlet-class>
            
    <init-param>
                
    <param-name>log4j</param-name>
                
    <param-value>/WEB-INF/log4j.properties</param-value>
            
    </init-param>
            
    <load-on-startup>1</load-on-startup>
        
    </servlet>
    好了,配置完畢。接下來就是用了。。。
    posted on 2010-10-17 19:39 見習和尚 閱讀(397) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 亚洲一区二区三区免费视频| 国产美女视频免费观看的网站| 无码精品一区二区三区免费视频| 亚洲综合激情另类专区| 国产亚洲人成在线影院| 国产麻豆剧传媒精品国产免费| va天堂va亚洲va影视中文字幕| 久久久久久毛片免费播放 | 丁香六月婷婷精品免费观看| 免费女人18毛片a级毛片视频| 手机永久免费的AV在线电影网| 亚洲精品97久久中文字幕无码| 好湿好大好紧好爽免费视频| 亚洲精品无码久久毛片| 亚洲中文字幕无码爆乳| 国内精品乱码卡1卡2卡3免费| 亚洲综合激情九月婷婷| 3d动漫精品啪啪一区二区免费| 国产亚洲色婷婷久久99精品91| 亚洲日本va一区二区三区| 日韩电影免费在线观看中文字幕| 亚洲精品视频免费在线观看| 免费A级毛片av无码| 亚洲视频在线观看不卡| 最近中文字幕免费2019| 亚洲最大的视频网站| 亚洲免费综合色在线视频| 亚洲视频无码高清在线| 日韩精品视频免费在线观看| 亚洲精品无码不卡在线播放| 免费看的黄色大片| 亚洲午夜电影在线观看| 日本高清高色视频免费| 亚洲AV无码成人精品区天堂| 亚洲成人在线免费观看| 中文字幕在线观看亚洲日韩| 四虎永久免费网站免费观看| 少妇亚洲免费精品| 中文字幕亚洲综合精品一区| 搡女人免费视频大全| 羞羞漫画登录页面免费|