内部で _lopen と _lcreat を使っているところを、CreateFile に変える必要があります。
各か所でどのアクセス制御が適切か検討する必要があります。
とりあえずログを開いているとこを修正し、同じファイル名は開けないようにしました。
これで logopen 後に返り値が入ると思うのですが、チェックして頂けるでしょうか?
maya への返信
とりあえずログを開いているとこを修正し、同じファイル名は開けないようにしました。
対応ありがとうございます。 簡単ではありますが、リンク先のアーカイブで下記動作を確認しました。 1. 単独でログファイルの新規作成/上書き/追記が出来ること 2. ログオープン中は、一時停止中であっても他のターミナルから同じファイルを開けないこと 3. 他のターミナルがエラーになった場合にオープンできたログファイルの内容が壊れていないこと 上書きされてしまうという問題については、十分な対応だと思います。 また、不慣れなので不安ですがマクロでlogopenを使い、「1」が戻ってくることも確認しました。
お世話になります。
teratermにて、ログファイルをオープンしたときに、別のターミナルがオープン中のファイルとかぶっても
そのまま書き込みはじめてしまいます。
そのためだと思うのですが、作業が終わってログを見ると中身が壊れてしまっていたことがあり、
回避策として、なにか対応をご検討いただければと思います。
希望としては、 1.オープン時に書き込み排他を設定する。 2.ファイル名にミリ秒まで設定できるようにする。 があるとうれしいです。
希望した背景としては、 自動的にログを採取する設定をしていて、ファイル名をteraterm_%Y%m%d%H%M%S.log としているのですが、 セッションの複製を複数やったときに、タイミングが悪くて一部のターミナルが同じファイルに書き込んでしまいました。