チケット #24365

ログファイルのオープンについて

登録: 2011-02-11 02:54 最終更新: 2011-03-08 00:30

報告者:
担当者:
(del#1144)
チケットの種類:
状況:
完了
コンポーネント:
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
なし
投票
点数: 0
No votes
0.0% (0/0)
0.0% (0/0)

詳細

お世話になります。

teratermにて、ログファイルをオープンしたときに、別のターミナルがオープン中のファイルとかぶっても
そのまま書き込みはじめてしまいます。

そのためだと思うのですが、作業が終わってログを見ると中身が壊れてしまっていたことがあり、
回避策として、なにか対応をご検討いただければと思います。

希望としては、 1.オープン時に書き込み排他を設定する。 2.ファイル名にミリ秒まで設定できるようにする。 があるとうれしいです。

希望した背景としては、 自動的にログを採取する設定をしていて、ファイル名をteraterm_%Y%m%d%H%M%S.log としているのですが、 セッションの複製を複数やったときに、タイミングが悪くて一部のターミナルが同じファイルに書き込んでしまいました。

チケットの履歴 (5 件中 3 件表示)

2011-02-11 02:54 更新者: raynstard
  • 新しいチケット "ログファイルのオープンについて" が作成されました
2011-02-11 14:30 更新者: (del#1144)
  • 解決法なし から 受領 に更新されました
コメント

内部で _lopen と _lcreat を使っているところを、CreateFile に変える必要があります。

各か所でどのアクセス制御が適切か検討する必要があります。

2011-02-20 14:44 更新者: (del#1144)
  • コンポーネント(未割り当て) から Tera Term に更新されました
  • 担当者(未割り当て) から maya に更新されました
  • 解決法受領 から 修正済み に更新されました
コメント

とりあえずログを開いているとこを修正し、同じファイル名は開けないようにしました。

これで logopen 後に返り値が入ると思うのですが、チェックして頂けるでしょうか?

http://ttssh2.sourceforge.jp/snapshot/snapshot-20110220.zip

2011-02-21 21:34 更新者: raynstard
コメント

maya への返信

とりあえずログを開いているとこを修正し、同じファイル名は開けないようにしました。

対応ありがとうございます。
簡単ではありますが、リンク先のアーカイブで下記動作を確認しました。
1. 単独でログファイルの新規作成/上書き/追記が出来ること
2. ログオープン中は、一時停止中であっても他のターミナルから同じファイルを開けないこと
3. 他のターミナルがエラーになった場合にオープンできたログファイルの内容が壊れていないこと

上書きされてしまうという問題については、十分な対応だと思います。
また、不慣れなので不安ですがマクロでlogopenを使い、「1」が戻ってくることも確認しました。

2011-03-08 00:30 更新者: (del#1144)
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2011-03-08 00:30 に更新されました

添付ファイルリスト

添付ファイルはありません

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする