プロジェクト

全般

プロフィール

バグ #634

完了

OpenRTM-aist-1.0.0-RC1にてlog_levelを設定しないとログが出力されない問題

kurihara さんが15年以上前に追加. ほぼ15年前に更新.

ステータス:
終了
優先度:
通常
担当者:
-
対象バージョン:
-
開始日:
2009/05/27
期日:
進捗率:

100%

予定工数:

説明

OpenRTM-aist-1.0.0-RC1にて、RTコンポーネントのログを出力したい場合、
rtc.confのlogger.log_levelを設定する必要がある。
logger.log_levelを設定していない場合、空のログファイルが作成される。

kurihara さんが15年以上前に更新

  • ステータス新規 から フィードバック に変更

7/27現在での最新バージョン(リビジョン1476)では、下記の現象が起きている。

(下記はrtc.confにて、logger.enable: yes と指定済みである。)

  • logger.log_levelをPARANOID以外に設定した場合、空のログファイルが作成される。(PARANOIDを設定した場合はログがログファイルに書き出されている。)
  • logger.log_levelを設定せずに、logger.file_name: rtc.log, stdoutのように標準出力にもログ出力を行うように設定した場合、ログレベルがPARANOID以下のログが標準出力にだけ出力される。このときも、rtc.logファイルは作成されるが空である。

匿名ユーザー さんが15年以上前に更新

  • 担当者匿名ユーザー にセット
  • 空のログファイルが生成される不具合について
    coil:: LogStreamBuffer で ログが flush されていないないようです。調査して報告します。

匿名ユーザー さんが15年以上前に更新

  • 原因
    coil::LogStreamBuffer::sync() でバッファの内容を flush していないため発生していた。
    呼び出し側で coil::LogStreamBuffer::addStreram に追加した Stream を close した場合は、ファイルにログが残るが、close が行われなずに終了した場合、ファイルが空になる。
  • 対策
    coil::LogStreamBuffer::sync() から呼び出される stream_sputn() で pubsync() の呼び出しを追加。(pubsync() はデバイスにバッファの内容を書き込む。)
  • 確認
    coilのunitテストでログがファイルに出力されることを確認。(posix版,win32版の両方で確認。)
    examples の ConsileOutComp で rtc.conf の logger.log_level を DEBUG,INFO にして実行し、ファイルのログが出力されていることを確認。(posix版,win32版の両方で確認。)

匿名ユーザー さんが15年以上前に更新

  • ステータスフィードバック から 解決 に変更
  • 進捗率0 から 100 に変更

n-ando さんが15年以上前に更新

  • ステータス解決 から 終了 に変更

匿名ユーザー さんがほぼ15年前に更新

他の形式にエクスポート: Atom PDF