• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 3  文章 - 8  trackbacks - 0
            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            常用鏈接

            留言簿(3)

            隨筆檔案

            文章分類

            文章檔案

            COM相關技術

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            以前是看過的,后來由于沒用又忘光了?,F(xiàn)在又重新看,好浪費時間。

            費話不多說。

             

            Log4cplus 概述



            首先,log4cplus是一個日志記錄的庫,目的很簡單,就是把合適的信息送到正確的位置上去。

            Log4cplus 由4部分組成:

            1>Logger         日志模塊,程序中唯一一個必須得使用的模塊,解決了在哪里使用日志的問題

            2> Appenders    接收日志的各個設備,如控制臺、文件、網(wǎng)絡等。解決了輸出到哪里去的問題

            3>Layout      格式化輸出信息,解決了如何輸出的問題。


            4>Filter        過濾器,解決哪些信息需要輸出的問題,比如DEBUG,WARR,INFO等的輸出控制.
             

            Log4cplus的主要部件關系圖如下:

             

            Log4cplus格式化輸出字符串

            來源:http://log4cplus.sourceforge.net/docs/html/classlog4cplus_1_1PatternLayout.html

                  http://www.shnenglu.com/tx7do/articles/11717.html

            關于預定義標識符,log4cplus文檔中提供了詳細的格式說明,我每種都試了一下,以上述代碼為例,根據(jù)不同
            pattern,各種消息格式使用情況列舉如下:
            1"%%",轉義為%, 即,std::string pattern = "%%" 時輸出: "%"
            2"%c",輸出logger名稱,比如std::string pattern ="%c" 時輸出: "test_logger.subtest"
                
            也可以控制logger名稱的顯示層次,比如"%c{1}"時輸出"test_logger",其中數(shù)字表示層次。
            3"%D",顯示本地時間,當std::string pattern ="%D" 時輸出:"2004-10-16 18:55:45",%d顯示標準時間,
                
            所以當std::string pattern ="%d" 時輸出 "2004-10-16 10:55:45" (因為我們是東8區(qū),差8個小時?。?span lang=EN-US>
                 可以通過%d{...}定義更詳細的顯示格式,比如%d{%H:%M:%s}表示要顯示小時:分鐘:秒。大括號中可顯示的
                
            預定義標識符如下:
                
            %a --
            表示禮拜幾,英文縮寫形式,比如"Fri"
            %A --
            表示禮拜幾,比如"Friday"
            %b --
            表示幾月份,英文縮寫形式,比如"Oct"
            %B --
            表示幾月份,"October"
            %c --
            標準的日期+時間格式,如 "Sat Oct 16 18:56:19 2004"
            %d --
            表示今天是這個月的幾號(1-31)"16"
            %H --
            表示當前時刻是幾時(0-23),如 "18"
            %I --
            表示當前時刻是幾時(1-12),如 "6"
            %j --
            表示今天是哪一天(1-366),如 "290"
            %m --
            表示本月是哪一月(1-12),如 "10"
            %M --
            表示當前時刻是哪一分鐘(0-59),如 "59"
            %p --
            表示現(xiàn)在是上午還是下午, AM or PM
            %q --
            表示當前時刻中毫秒部分(0-999),如 "237"
            %Q --
            表示當前時刻中帶小數(shù)的毫秒部分(0-999.999),如 "430.732"
            %S --
            表示當前時刻的多少秒(0-59),如 "32"
            %U --
            表示本周是今年的第幾個禮拜,以周日為第一天開始計算(0-53),如 "41"
            %w --
            表示禮拜幾,(0-6, 禮拜天為0),如 "6"
            %W --
            表示本周是今年的第幾個禮拜,以周一為第一天開始計算(0-53),如 "41"
            %x --
            標準的日期格式,如 "10/16/04"
            %X --
            標準的時間格式,如 "19:02:34"
            %y --
            兩位數(shù)的年份(0-99),如 "04"
            %Y --
            四位數(shù)的年份,如 "2004"
            %Z --
            時區(qū)名,比如 "GMT"
            4"%F",輸出當前記錄器所在的文件名稱,比如std::string pattern ="%F" 時輸出: "main.cpp"
            5"%L",輸出當前記錄器所在的文件行號,比如std::string pattern ="%L" 時輸出: "51"
            6"%l",輸出當前記錄器所在的文件名稱和行號,比如std::string pattern ="%L" 時輸出:
                 "main.cpp:51"
            7"%m",輸出原始信息,比如std::string pattern ="%m" 時輸出: "teststr",即上述代碼中
                 LOG4CPLUS_DEBUG
            的第二個參數(shù),這種實現(xiàn)機制可以確保原始信息被嵌入到帶格式的信息中。
            8"%n",換行符,沒什么好解釋的
            9"%p",輸出LogLevel,比如std::string pattern ="%p" 時輸出: "DEBUG"
            10"%t",輸出記錄器所在的線程ID,比如std::string pattern ="%t" 時輸出: "1075298944"
            11"%x",嵌套診斷上下文NDC (nested diagnostic context) 輸出,從堆棧中彈出上下文信息,NDC可以用對
                 
            不同源的log信息(同時地)交叉輸出進行區(qū)分,關于NDC方面的詳細介紹會在下文中提到。
            12)格式對齊,比如std::string pattern ="%-10m"時表示左對齊,寬度是10,此時會輸出"teststr   ",當
                 
            然其它的控制字符也可以相同的方式來使用,比如"%-12d","%-5p"等等(剛接觸log4cplus文檔時還以為
                  "%-5p"
            整個字符串代表LogLevel呢,呵呵)。

             

             

            Log4cplus 配置文件

            log4cplus中的配制文件基本與log4j的配置文件一樣。

            以下面為例

            log4cplus.rootLogger=INFO, STDOUT, R

            log4cplus.logger.test=WARN

            log4cplus.logger.test.log_1=FATAL

            log4cplus.logger.test.log_2=FATAL

            log4cplus.logger.test.log_3=WARN

             

            log4cplus.appender.STDOUT=log4cplus::ConsoleAppender

            log4cplus.appender.STDOUT.layout=log4cplus::PatternLayout

            log4cplus.appender.STDOUT.layout.ConversionPattern=%d{%m/%d/%y %H:%M:%S} [%t] %-5p %c{2} %%%x%% - %m [%l]%n

             

             

            log4cplus.rootLogger= INFO, STDOUT, R

            其中第一個INFO是等級,從大到小包括 <!--[if !vml]--><!--[endif]-->

            OFFFATAL、ERROR  、WARN 、INFODEBUG 、TRACE、ALL

             

            后面STDOUTR都是自定義的appender名稱,表示該日志將會輸出到哪幾個appender中去。

            Log4cplus 安裝

             

            Log4cplus 在中的使用

                  LOG4CPLUS_TRACE
                  LOG4CPLUS_DEBUG
                  LOG4CPLUS_INFO
                  LOG4CPLUS_WARN
                  LOG4CPLUS_ERROR
                  LOG4CPLUS_FATAL

             

             

             

             

            相關資料

            Log4cplus是從java中的日志log4j那里移植過來的一個日志庫。

            http://www.shnenglu.com/tx7do/articles/11715.html

            http://www.blogjava.net/zJun/archive/2006/06/28/55511.html

            http://log4cplus.sourceforge.net/hello_world.html

            剩余的就在 log4cplus test目錄下看看吧。

            posted on 2009-02-17 21:08 鹿哥 閱讀(5805) 評論(0)  編輯 收藏 引用 所屬分類: LOG4CPLUS
            久久99精品国产麻豆不卡| 97久久婷婷五月综合色d啪蜜芽| 开心久久婷婷综合中文字幕| 久久久网中文字幕| 久久精品无码午夜福利理论片| 精品国产婷婷久久久| A级毛片无码久久精品免费| 精品久久久久久无码中文字幕一区| 99久久无码一区人妻| 久久丫忘忧草产品| 久久99精品久久久久久| 亚洲av日韩精品久久久久久a| 久久久久久久人妻无码中文字幕爆 | 久久最新免费视频| 久久九九精品99国产精品| 久久精品无码一区二区三区免费| 亚洲国产精品久久电影欧美| 青青草原综合久久大伊人精品| 色偷偷偷久久伊人大杳蕉| 午夜精品久久久久久| 久久av高潮av无码av喷吹| 久久99国产乱子伦精品免费| 亚洲欧美日韩精品久久亚洲区 | 国产激情久久久久影院| 久久亚洲欧美国产精品| 久久伊人五月丁香狠狠色| 久久久久国产一区二区 | 成人午夜精品无码区久久| 国产激情久久久久影院小草| 久久久久中文字幕| 久久国产精品久久| 99久久精品毛片免费播放| 国产亚洲欧美精品久久久| 久久男人Av资源网站无码软件| 久久精品无码专区免费东京热| 久久久久久精品免费看SSS| 亚洲精品tv久久久久久久久| 日韩精品久久久久久免费| 久久久这里只有精品加勒比| 色综合合久久天天给综看| 亚洲国产精品成人久久蜜臀|