ace
提供了非常靈活、方便的日誌管理和訊息輸出功能,下面就一些簡單和直接的功能做乙個簡單介紹
ace_debug
常規的一些輸出訊息
ace_error
會提供程式出錯的一些低階訊息
2個巨集的用法上是一致的
ace_debug
(錯誤級別,
"格式串"
,變數1
...變數n)
其中部分錯誤級別系統定義如下:
lm_shutdown =01
,系統宕機級別
lm_trace =02
,跟蹤級別
lm_debug =04
,debug
級別lm_info
=010
,常規資訊級別
lm_notice
=020
,注意級別
lm_warning
=040
,警告級別
lm_startup
=0100
,啟動級別
lm_error
=0200
,錯誤級別
lm_critical
=0400
,危急級別
lm_alert
=01000
,可修復的警告級別
lm_emergency
=02000
,全域性警告級別
部分格式串使用如下:跟c
中printf
使用類似%n
-表當前程式名稱%t
-表當前執行緒號%p
-表指標%s
-字串
ace通過全域性單體例項
ace_log_msg
管理和控制輸出,我們可以利用這個例項把輸出重定向到檔案,也可以重定向到標誌輸出
其中還可以控制什麼級別的訊息可被輸出,簡單使用如下:
ace_log_msg
->
set_flags
(ace_log_msg
::stderr
);設定輸出到標準錯誤輸出
ace_log_msg
->
clr_flags
(ace_log_msg
::stderr
);關閉輸出到標誌錯誤輸出
ace_log_msg
->
set_flags
(ace_log_msg
::ostream
);ofstream myostream
(filename
,ios
::out
|ios
::trunc
);ace_log_msg
->
msg_ostream
(& myostream
);設定輸出到檔案
u_long priority_mask
=ace_log_msg
->
priority_mask
(ace_log_msg
::process
);ace_set_bits
(priority_mask
,lm_debug
|lm_info
);設定只記錄
lm_debug
或者lm_info
級別的訊息
ace_clr_bits
(priority_mask
,lm_debug
|lm_info
);清除設定條件
ace_log_msg
還有乙個非常有意思的功能,能以
16進製制方式輸出記憶體中的塊
,簡單使用如下:
ace_log_msg
->
log_hexdump
(lm_debug,(
char
*)array
,sizeof
array
);ace
包中的例子程式
#include "ace/os_main.h"
#include "ace/streams.h"
#include "ace/log_msg.h"
intace_tmain
(int
,ace_tchar
*)好了,上面就是
ace日記管理功能中的九牛一毛,還有更多的功能,
我將會在
ace技巧和
ace應用文章寫出;
如通過命令列引數來配置日誌引數輸出、怎麼通過配置檔案來配置日誌
等文章
風 的ACE筆記 1 日誌訊息管理
ace提供了非常靈活 方便的日誌管理和訊息輸出功能,下面就一些簡單和直接的功能做乙個簡單介紹 ace debug 常規的一些輸出訊息 ace error 會提供程式出錯的一些低階訊息 2個巨集的用法上是一致的 ace debug 錯誤級別,格式串 變數1.變數n 其中部分錯誤級別系統定義如下 lm ...
風 的ACE筆記 1 日誌訊息管理
這是我的第一篇ace文章,希望大家能夠喜歡 ace提供了非常靈活 方便的日誌管理和訊息輸出功能,下面就一些簡單和直接的功能做乙個簡單介紹 ace debug 常規的一些輸出訊息 ace error 會提供程式出錯的一些低階訊息 2個巨集的用法上是一致的 ace debug 錯誤級別,格式串 變數1....
ROS學習筆記3 日誌訊息
1 日誌訊息 ros日誌系統的核心思想就是使程式生成一些簡單的文字字元流。這些日誌訊息分為五個不同的嚴重級別 debug info warn error fatal其中,debug最為常見,fatal是嚴重錯誤,導致程式無法執行。其它則在這兩者之間。日誌訊息的生成 總共有5個基本的c 巨集來產生日誌...