操作
バグ #3211
完了ログ rtcbuilder.log の生成場所の問題
開始日:
2015/06/08
期日:
進捗率:
100%
予定工数:
説明
ログ rtcbuilder.log の生成場所が、カレントディレクトリとなっているため、書き込み権限がないとロックが取得できずエラーになりパースぺーくティブが開けない。
操作
100%
説明
ログ rtcbuilder.log の生成場所が、カレントディレクトリとなっているため、書き込み権限がないとロックが取得できずエラーになりパースぺーくティブが開けない。
$ ./eclipse java.io.IOException: Couldn't get lock for rtcbuilder%u.log at java.util.logging.FileHandler.openFiles(FileHandler.java:389) at java.util.logging.FileHandler.<init>(FileHandler.java:287) :
jp.go.aist.rtm.rtcbuilder.RTCBLogHandler.pattern=%h/.rtcb%u.log jp.go.aist.rtm.systemeditor.RTSELogHandler.pattern=%h/.rtse%u.log
$ eclipse -vmargs -Djava.util.logging.config.file=/usr/lib/x86_64-linux-gnu/openrtm-1.1/openrtp/logger.properties
r550にて修正
・java.util.loggingによるロギングの仕組みは廃止
・slf4j+logback方式を採用
→jp.go.aist.rtm.toolscommon.profile 以下にJAR含め、初期化用のユーティリティクラス(LoggingUtil)を追加・公開
・RTSE/RTCB起動時に、以下のフローで初期設定を行います。
- eclipse フォルダ直下に設定ファイル(logback.xml)が存在するか確認
- 設定ファイルが存在しない場合は、デフォルトのファイルを生成
→以後はこのファイルを更新すればOK
- eclipse/logback.xmlを読み込んで初期設定
→標準出力とファイルへ出力します。出力ファイルは ${HOME}/openrtp.log
・e.printStackTrace()でスタックトレースを表示している箇所をロガーに置き換え