MochiOS開発記@デバッグログ強化検討
MochiKernelのデバッグログは下記情報を持っている。 ・ログ出力したモジュール-サブモジュール(つまりひとつのソースファイル)のID ・ログ出力した行数 ・文字列 デバッグログ種別やレベルなどは持たせていなくて、好き勝手していた。 いざ不具合があると情報が足りなくなるし、不具合がないと不要なログで埋め尽くされて見たいものが見れなくなる、ということに悩まされてきたので、種別の概念を追加することにする。 大体、世の中のシステムログ種別は以下のような感じか(超適当) 種別 概要 emergency システムが使用できなくなった系 alert 対処しないとまずい系 critical 致命的で対処しようがない系 error エラー全般 warning 警告全般 notice エラーでも警告でもないがちょっとあやしい系 informational なんか処理したよ系 debug プログラムデバッグ情報系 参考にしてこんな感じにしよう。(全然参考にしてない) 種別 概要 abort あぼーと。もう何もできない。死んだ。 error 想定外のエラー。処理を続けられないので中断。 warning 想定内のエラー。処理を続けられないので中断。 info なんか処理した。頻度低(HW割込みとかタスクスイッチ系はダメ)。 trace コードここ通ったよ。頻度低(HW割込みとかタスクスイッチ系はダメ)。 temp デバッグ中に使う専用。残さない。 種別ごとに有効化マクロ定義しとこ。