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

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

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

    vjame

    優化代碼是無止境的
    隨筆 - 65, 文章 - 9, 評論 - 26, 引用 - 0
    數據加載中……

    log4j的使用

    Log4j是一個開源的日志記錄組件,其產品已經相當的成熟,且使用非常的廣泛。在工程中以易用,方便等代替了 System.out 等打印語句。
    Log4j的目標是:它允許開發人員以任意的精細程度控制哪些日志說明被輸出。通過使用外部的配置文件,可以在運行時配置它。
    通過其要實現的目標,我們已理解出log4j將是一個十分好用的組件。
    Log4j的具體在 
    http://logging.apache.org/log4j/找到 它。另外,log4j已經被轉換成 C, C++, C#, Perl, Python, Ruby, 和 Eiffel 語言。
    下面,我就從log4j的配置文件來具體講述,log4j的功能,通過配置文件來學習新技術已是一個很好的學習方法。
    Log4j有兩個重要的概念:一是日志級別,其日志級別關系為
    DEBUG>INFO>WARN>ERROR>FATAL 原則,高級別將顯示低級別的日志
    二是appender(也是輸出目標),在這上的還有輸出格式
    其支持的輸出目標為 文件,控制臺,數據庫,且支持一次指定多個輸出目標
    Log4j的配置文件除了支持:*.properties 文件名,還支持運用十分廣泛的xml文件。
    下面的講述中,我只通過*.properties文件來說明。
    Log4j的屬性文件的講述
    # 定義根日志,日志級別為DEBUG 輸出目標為控制臺,文件
    log4j.rootLogger=INFO,A1,R
    # 包com.liaowf日志,日志級別為DEBUG 輸出目標為控制臺,文件(注意,包com.liaowf下的所有類將自動擁有此日志屬性)
    log4j.logger.com.liaowf=DEBUG,A1,R
    # 名稱為IAMLogInfo日志,日志級別為INFO,輸出目標為數據庫(注意,所有使用IAMLogInfo作為名稱的日志將擁用些日志屬性)
    log4j.logger.IAMLogInfo=INFO,DATABASE

    # 類com.liaowf.console.connector.Synchro日志,日志級別為DEBUG,輸出目標為控制臺
    log4j.logger.com.liaowf.console.connector.Synchro=DEBUG,A1,userSynR
    # 類com.liaowf.console.authorization.dao.UserDao日志,級別為DEBUG,輸出目標為文件
    log4j.logger.com.liaowf.console.authorization.dao.UserDao=DEBUG,A1,userTelnet

    # 配置TRUE
    log4j.addivity.org.apache=true

    # 定義控制臺Appender
    log4j.appender.A1=org.apache.log4j.ConsoleAppender
    log4j.appender.A1.layout=org.apache.log4j.PatternLayout
    log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n

    # 輸出到文件Appender
    log4j.appender.R=org.apache.log4j.RollingFileAppender
    log4j.appender.R.File=c:/iamSystem.log
    log4j.appender.R.MaxFileSize=500KB
    log4j.appender.R.MaxBackupIndex=1
    #log4j.appender.R.layout=org.apache.log4j.HTMLLayout
    log4j.appender.R.layout=org.apache.log4j.PatternLayout
    log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n


    # JDBC 輸出到數據庫的Appender
    #log4j.appender.DATABASE.Threshold=INFO
    #log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
    #log4j.appender.DATABASE.BufferSize=10
    #log4j.appender.DATABASE.URL=jdbc:microsoft:sqlserver://10.170.88.4:1433;DatabaseName=iamconfig
    #log4j.appender.DATABASE.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
    #log4j.appender.DATABASE.user=iamconfig
    #log4j.appender.DATABASE.password=iamconfig
    #log4j.appender.DATABASE.sql=INSERT INTO wap_mail_jws_log  VALUES ('%d{yyyy-MM-dd HH:mm:ss}', '%t', '%p', '%l', '%m', '')
    #log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout

    # 輸出到文件的appender
    log4j.appender.userSynR=org.apache.log4j.RollingFileAppender
    log4j.appender.userSynR.File=c:/iamSystem_userSynR.log
    log4j.appender.userSynR.MaxFileSize=500KB
    log4j.appender.userSynR.MaxBackupIndex=1
    #log4j.appender.userSynR.layout=org.apache.log4j.HTMLLayout
    log4j.appender.userSynR.layout=org.apache.log4j.PatternLayout
    log4j.appender.userSynR.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

    # 輸出到文件Appender
    log4j.appender.userTelnet=org.apache.log4j.RollingFileAppender
    log4j.appender.userTelnet.File=c:/iamTelnet.log
    log4j.appender.userTelnet.MaxFileSize=500KB
    log4j.appender.userTelnet.MaxBackupIndex=1
    #log4j.appender.userTelnet.layout=org.apache.log4j.HTMLLayout
    log4j.appender.userTelnet.layout=org.apache.log4j.PatternLayout
    log4j.appender.userTelnet.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

    log4j倒底能提供我們什么功能,我們來總結一下:
    1 根據我們設置的日志級別,控制日志的輸出
    2 日志的輸出支持自增式文件,控制臺,數據庫,還可以擴展。
    3 日志的屬性,當按"."命名有繼承性,我們常使用類名來命名日志
    2 通過上面的介始,我們給一個工程沒有log4j的工程增加log4j功能的。根據下面幾個步驟,你將很輕松的完成。
    1 下載log4j的jar包
    2 編寫一個log4j.properties 屬性文件,放到你的源文件的根下,再根據具體修改
    3 在每一個需要記錄日的類中,增加一個類成員
        // 初始化日志處理類
      Logger log = Logger.getLogger(類名.class.getName());

    4 在你需要打日志信息的代碼中,如下寫出
    打info信息
    Log4j.infor("");
    打debug信息
    If(log4j.isDebuged()) {
      Log4j.debug("");
    }
    打error信息
    Log4j.error("");

    posted on 2008-09-11 17:31 lanjh 閱讀(212) 評論(0)  編輯  收藏 所屬分類: 開源


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


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 亚洲国产成人精品女人久久久 | 国产亚洲AV夜间福利香蕉149| 国产成人亚洲合集青青草原精品| 91免费国产自产地址入| 国产亚洲精品精华液| 免费国产成人α片| 亚洲最大成人网色| 一级毛片免费视频| 亚洲色av性色在线观无码| 最近中文字幕免费完整| 亚洲人成影院午夜网站| 在线免费观看一区二区三区| 亚洲色大18成人网站WWW在线播放| 女人张开腿等男人桶免费视频| 亚洲乱亚洲乱妇无码| 国产免费131美女视频| 一级做a爱片特黄在线观看免费看| 久久久久久久亚洲精品| 无码人妻AV免费一区二区三区| 亚洲综合区图片小说区| 女人18毛片水真多免费看| 免费无码又爽又黄又刺激网站| 国产aⅴ无码专区亚洲av麻豆 | 亚洲久悠悠色悠在线播放| 在线观看人成视频免费| 国产精品美女免费视频观看| 亚洲国产另类久久久精品| 国产精品久久永久免费| 国产亚洲精品第一综合| 国产亚洲精品精华液| 国产福利在线免费| 日韩一级片免费观看| 亚洲精品网站在线观看你懂的| 啦啦啦www免费视频| 中文在线免费观看| 亚洲人成在线精品| 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲午夜福利AV一区二区无码| 久久精品国产免费观看三人同眠| 亚洲国产综合AV在线观看| 亚洲精品午夜无码专区|