<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++博客   博問  
     
    主站蜘蛛池模板: 欧美a级在线现免费观看| 亚洲精品色播一区二区 | 亚洲福利一区二区精品秒拍| 国产福利在线观看永久免费| 亚洲精品老司机在线观看| 白白色免费在线视频| 俄罗斯极品美女毛片免费播放| 国产精品亚洲精品日韩动图| 免费一级毛片清高播放| 免费精品国产自产拍在线观看| 亚洲AV网站在线观看| 全部在线播放免费毛片| 国产亚洲欧洲Aⅴ综合一区 | 污污网站18禁在线永久免费观看| 亚洲AV无码一区二区乱孑伦AS | 亚洲国产成AV人天堂无码| 日本免费人成在线网站| 亚洲中文字幕无码中文字| 国产成人免费高清在线观看| 成年免费a级毛片| 亚洲AV区无码字幕中文色| 久久免费看黄a级毛片| 亚洲国产日韩a在线播放| 亚洲国产精品尤物yw在线| 二个人看的www免费视频| 久久精品国产亚洲AV麻豆网站| 中文字幕乱码免费视频| jizzjizz亚洲日本少妇| 亚洲午夜国产精品无码| 亚洲美女免费视频| 久久亚洲中文无码咪咪爱| 亚洲精品乱码久久久久久| 国产在线观看麻豆91精品免费| 欧美日韩亚洲精品| 亚洲成熟xxxxx电影| 色吊丝最新永久免费观看网站| 国产精品无码免费专区午夜| 亚洲国产综合第一精品小说| 四虎永久在线精品免费影视| 免费在线看污视频| 日韩欧美亚洲国产精品字幕久久久 |