# logopen

Tera Term のログを開始する。

    logopen <filename> <binary flag> <append flag> [<plain text flag> [<timestamp flag> [<hide dialog flag> [<include screen buffer flag> [<timestamp type>]]]]]

## 解説

ファイル <filename> に受信した文字が書き込まれる。ファイル名はログの設定の書式が利用できる。
ログを開始したあとも次のコマンドは実行される。

ログの設定のフォルダにログは作成される。
カレントディレクトリを変更するには changedir マクロを使用する。

<binary flag> の値が0のとき、受信した漢字、改行文字は変換されてファイルに書き込まれ、エスケープシーケンスは書き込まれない。
<binary flag> の値が0以外のとき、受信した文字をすべてそのままファイルに書き込む。

<append flag> の値が0以外で、ファイル <filename> がすでに存在する場合、そのファイルに追加して書き込む。
<append flag> の値が0で、ファイル <filename> がすでに存在する場合、そのファイルは上書きされる。

<plain text flag> が 0 以外の場合、ASCII 非表示文字をログに書き込まない。
<timestamp flag> が 0 以外の場合、ログの行頭に時刻を追加する。
ただし、<binary flag> が 0 以外の場合、<plain text flag>, <timestamp flag> は両方とも無視される。バイナリログはログ再生に利用可能。 (バージョン 4.61以降)

<hide dialog flag> が 0 以外の場合、ログ転送のダイアログを表示しない。

<include screen buffer flag> が 0 以外の場合、現在の端末バッファすべてを先にファイルに書き込む。 (バージョン 4.80以降)

<timestamp type> は timestamp の形式を指定する。以下の値が指定出来る。(バージョン 4.97以降)

値 | 意味
--- | ---
0 | ローカルタイム
1 | UTC
2 | 経過時間 (Logging)
3 | 経過時間 (Connection)

ログファイルを開けた場合、result に 0 が格納される。開けなかった場合は 1 が格納される。(バージョン 4.62 以降)

## 例

    connect '/C=1'

    ; ユーザ名を取得
    getenv 'USERNAME' username
    ; 日時を取得
    gettime timestr "%Y%m%d-%H%M%S"

    ; ログファイル名に日時とユーザ名を入れる。
    sprintf2 filename 'console_%s_%s.log' username timestr

    ; カレントディレクトリを変更する
    changedir 'C:\Documents and Settings\yutaka\デスクトップ'

    logopen filename 0 0
    logwrite 'Log start'#13#10
    logwrite '*****************************************************'#13#10
    logclose

    end

    ;
    ; ログ採取をしながら、定型処理を連続実行させる。
    ;

    getenv 'USERNAME' username
    gettime timestr "%Y%m%d-%H%M%S"
    getdir mdir
    sprintf2 filename '%s\console_%s_%s.log' mdir username timestr

    logopen filename 0 0

    step = 0
    while 1
      call show_step
      sendln 'echo do something'
      wait '$'
      pause 2
    endwhile

    logclose
    end

    :show_step
    step = step + 1
    gettime timestr
    sprintf2 str '[%d] %s' step timestr
    statusbox str 'counter'
    return

## 参照

- logwrite
- logclose
- statusbox
- gettime