ROS學習筆記3 日誌訊息

2021-08-11 08:01:32 字數 1579 閱讀 4794

(1)日誌訊息

ros日誌系統的核心思想就是使程式生成一些簡單的文字字元流。這些日誌訊息分為五個不同的嚴重級別:

debug

info

warn

error

fatal

其中,debug最為常見,fatal是嚴重錯誤,導致程式無法執行。其它則在這兩者之間。

日誌訊息的生成:總共有5個基本的c++巨集來產生日誌訊息,其中的每乙個巨集對應乙個嚴重級別:

ros_debug_stream(message)

ros_info_stream(message)

ros_warn_stream(message)

ros_error_stream(message)

ros_fatal_stream(message)

上面的message可以是c++標準輸出流的各種形式。

生成一次性日誌訊息

ros_debug_stream_once(message)

ros_info_stream_once(message)

ros_warn_stream_once(message)

ros_error_stream_once(message)

ros_fatal_stream_once(message)

檢查和清除日誌檔案

ros的日誌檔案會自動積累,如果日誌檔案超過1gb就會提醒使用者,但是不會自動刪除。可以使用下面的語句來檢視日誌大小和刪除ros中的日誌。

檢視被ros日誌消耗的空間:

rosclean check
刪除所有已經存在的日誌檔案:
rosclean purge
啟用和禁用日誌訊息

ros的c++程式預設只生成info或者更高階別的訊息。

在實際中,可以根據需要對某個節點的日誌級別進行設定,使用下面的命令:

rosservice call/node-name/set_logger_level ros.package-name level

package-name 是擁有這個節點的功能包的名稱。

level 是debug、info、warn、error和fatal中的乙個。

通過圖形介面來設定日誌級別

使用

rqt_logger_level
啟動節點ros管理器和ros引數伺服器

在執行任何節點之前,都應該首先啟動節點管理器和引數伺服器,使用命令 roscore 可以完成這兩項工作,執行roscore之後,啟動來以下程式:

• ros master 節點管理器

• ros parameter server 引數伺服器

• rosout logging nodes 日誌節點

節點rosout會收集所有節點中的資料並寫入檔案。

話題/rosout 被節點rosout 訂閱,rosout 節點向話題 /rosout_agg發布訊息。

ACE筆記 1 日誌訊息管理

ace 提供了非常靈活 方便的日誌管理和訊息輸出功能,下面就一些簡單和直接的功能做乙個簡單介紹 ace debug 常規的一些輸出訊息 ace error 會提供程式出錯的一些低階訊息 2個巨集的用法上是一致的 ace debug 錯誤級別,格式串 變數1 變數n 其中部分錯誤級別系統定義如下 lm...

Springboot學習筆記(五)日誌

選擇乙個日誌門面 抽象層 選乙個日誌實現 日誌門面 slf4j 日誌實現 logback 開發中,日誌記錄方法的呼叫,不應該直接呼叫日誌的實現類,而是呼叫日誌抽象層裡的方法 logging.level.com.atguigu trace spring.profiles.active dev logg...

Android學習筆記5 日誌

log.v 這個方法用於列印那些最為瑣碎的,意義最小的日誌資訊。對應級別verbose,是android 日誌裡面級別最低的一種。log.d 這個方法用於列印一些除錯資訊,這些資訊對你除錯程式和分析問題應該是有幫助的。對應級別debug,比verbose 高一級。log.i 這個方法用於列印一些比較...