ns-3中的logging component簡介
很多大型的系統都會支援「記錄功能」(logging facility), ns-3也同樣如此。不同的是其他的系統可能只記錄一些「警告資訊」(warning messages)、「錯誤資訊」(error messages)或者「查錯資訊」(debug messages)。
但是ns-3提供多層次的可選擇的資訊記錄功能。
ns-3提供7個層次的資訊記錄:
•log_error — 記錄錯誤資訊 (相關聯的巨集: ns_log_error);
• log_warn — 記錄警告資訊(相關聯的巨集: ns_log_warn);
• log_debug — 記錄相對少的自適應(ad-hoc)查錯資訊(相關聯的巨集: ns_log_debug);
• log_info — 記錄程式執行的資訊(相關聯的巨集: ns_log_info);
• log_function — 記錄描述被呼叫的函式的資訊(兩個相關聯的巨集:ns_log_function, 用於成員函式, and ns_log_function_noargs, 用於靜態方程);
• log_logic – log messages describing logical flow within a function (相關聯的巨集: ns_log_logic);
• log_all — log everything mentioned above (沒有相關聯的巨集).
層次記錄型別:
log_info 只啟用ns_log_info 這個巨集
log_level_info 啟用三個巨集: ns_log_debug, ns_log_warn, ns_log_error
ns_log_uncond 無條件的記錄相關資訊
2. 例子
first.cc 這個**裡本身呼叫了記錄功能(log_level_info)記錄client和server的資訊。
這裡介紹一種在sh-like shell environment 中進行修改logging component
語法:sh-like shell: "varable=value"
csh-like shell: "setenv variable value"
a) //這個命令在目錄ns-3-dev下和ns-3-allinone下執行都是有效的,但是./waf需要在ns-3-dev目錄下執行才是有效的
結果:
注意: 此處用單引號是為了與c++中的scope operator區分開
用or operation還增加操作
b) 對比兩個不同的命令
加單引號是因為避免『豎線 |』和unix中 pipe connector 混淆,在這裡『|』表示or operation。
區別:所有涉及到
log component
的資訊都會加上方程的字首
現在為加字首的就是來自的了
c) 顯示模擬時間
對不同的函式進行操作,中間用單引號隔開
結果:
分析:
d) 記錄所有資訊並生成輸出檔案
命令:export 』ns_log=*=level_all|prefix_func|prefix_time』
用萬用字元替換被操作函式
./waf --run scratch/myfirst > log.out 2>&1
制定輸出檔案,然後在編輯器中開啟,搜尋想要找到資訊,用於debugg.
問題:檔案儲存到**了
答: 就在幹操作目錄下 檔名為log.out的檔案
NS3安裝記錄
環境 ubuntu16 lts ns3.3 寫在前面 ns 3 從 ns 3.30 這個版本開始預設使用 python 3,但是之前的版本都是預設使用 python 2,所以大家根據自己安裝的版本進行選擇。如果選擇使用 python 2,那麼把下面所有的 python3 都換成 python 即可,...
ns3相關記錄
2.ofswitch13 for ns3 二.執行 1.列印所有模組下的log日誌。1 在終端輸入 export ns log level all 2 在終端輸入執行語句 waf run scratch wzx mptcp logsdn all.out 注意 前面不能加 sudo 命令 3 waf ...
NS3筆記 初識NS3編譯執行
開始學習ns 3,按照官網的教程一步步安裝完成後 終於可以試試第乙個程式了.1.編譯系統 waf ns 3採用waf進行編譯,這個是用python開發的編譯管理系統 猜測應該是提供了不少現成的ns 3的python介面,交給waf管理,這樣程式設計的工作就少了很多了.2.開發環境 ns 3提供了py...