• <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年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(3)

            隨筆檔案

            文章分類

            文章檔案

            COM相關技術

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            以前是看過的,后來由于沒用又忘光了。現在又重新看,好浪費時間。

            費話不多說。

             

            Log4cplus 概述



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

            Log4cplus 由4部分組成:

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

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

            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文檔中提供了詳細的格式說明,我每種都試了一下,以上述代碼為例,根據不同
            pattern,各種消息格式使用情況列舉如下:
            1"%%",轉義為%, 即,std::string pattern = "%%" 時輸出: "%"
            2"%c",輸出logger名稱,比如std::string pattern ="%c" 時輸出: "test_logger.subtest"
                
            也可以控制logger名稱的顯示層次,比如"%c{1}"時輸出"test_logger",其中數字表示層次。
            3"%D",顯示本地時間,當std::string pattern ="%D" 時輸出:"2004-10-16 18:55:45"%d顯示標準時間,
                
            所以當std::string pattern ="%d" 時輸出 "2004-10-16 10:55:45" (因為我們是東8區,差8個小時啊)。
                
            可以通過%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 --
            表示現在是上午還是下午, AM or PM
            %q --
            表示當前時刻中毫秒部分(0-999),如 "237"
            %Q --
            表示當前時刻中帶小數的毫秒部分(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 --
            兩位數的年份(0-99),如 "04"
            %Y --
            四位數的年份,如 "2004"
            %Z --
            時區名,比如 "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
            的第二個參數,這種實現機制可以確保原始信息被嵌入到帶格式的信息中。
            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信息(同時地)交叉輸出進行區分,關于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]-->

            OFFFATALERROR  WARN INFODEBUG TRACEALL

             

            后面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 鹿哥 閱讀(5799) 評論(0)  編輯 收藏 引用 所屬分類: LOG4CPLUS
            久久不见久久见免费视频7| 亚洲欧美另类日本久久国产真实乱对白 | 国产91色综合久久免费| 久久久久综合网久久| 欧美性猛交xxxx免费看久久久| 青青草国产97免久久费观看| 麻豆AV一区二区三区久久| 国产精品久久久久天天影视| 久久久久久久国产免费看| 国产色综合久久无码有码| 日本精品久久久久中文字幕8| 亚洲七七久久精品中文国产| 99久久久国产精品免费无卡顿 | 狠狠色丁香久久婷婷综合| 国产一区二区三区久久精品| 久久中文精品无码中文字幕| 精品久久久久久久无码| 亚洲人AV永久一区二区三区久久 | 国产L精品国产亚洲区久久| 99精品久久久久久久婷婷 | 久久国内免费视频| 99久久综合狠狠综合久久| 久久久久久人妻无码| 亚洲精品无码久久久| 久久精品国产亚洲精品| 精品国产91久久久久久久| 久久人爽人人爽人人片AV| 久久人人爽人人人人片av| 久久久久成人精品无码| 国产精品成人无码久久久久久 | 无码日韩人妻精品久久蜜桃| 日韩十八禁一区二区久久| 久久久久国产一区二区三区| 久久精品国产一区| 久久久久一区二区三区| 久久不射电影网| 99久久99久久精品国产片| 久久99热精品| 久久er国产精品免费观看8| 久久国产精品二国产精品| 久久黄视频|