logrotate
2024/09/01 15:36
logrotate 機能
[通信コマンド]ログをローテートします。
コマンドライン
logrotate 'size' '<size>' logrotate 'rotate' <count> logrotate 'halt'
機能説明
取得中のログファイルに対するローテーション設定を行います。設定は即時反映されますが、即時ローテートするわけではありません。
size
ログのサイズが <size> バイトを超えていれば、ローテーションするよう設定します。第1パラメータに、文字列で 'size' を指定することで、第2パラメータがローテーションサイズであることを指定します。
第2パラメータに、文字列でサイズを指定します。
<size> は 128 バイト以上で指定してください。
末尾に"K"があるとキロバイト単位、"M"があるとメガバイト単位になります。
rotate
ローテーションした際、何世代まで保存するか(何世代先を削除するか)設定します。第1パラメータに、文字列で 'rotate' を指定することで、第2パラメータが世代数であることを指定します。
第2パラメータに、整数で世代数を指定します。
<count> は 1 以上を指定してください。
halt
第1パラメータに、文字列で 'halt' を指定することで、ローテーション設定を破棄することを指定します。以後、ローテーションされなくなります。
パラメータの説明
指定するパラメータは以下の通りです。パラメータ | 型 | パラメータ説明 |
---|---|---|
(第1パラメータ) | 文字列 | 'size'、'rotate'、'halt'のいずれかを指定します。 |
(第2パラメータ) | 文字列 | 'size' を指定した場合に、ローテーションするログサイズを指定します。 |
整数 | 'rotate' を指定した場合に、世代数を指定します。 |
対象バージョン
バージョン 4.78 以降で利用可能です。戻り値
戻り値はありません。関連コマンド
種別:通信 | Ver | 機能の簡易説明 |
---|---|---|
logautoclosemode | 4.79以降 | マクロ終了時、自動的にログ採取を停止する。 |
logclose | Tera Term のログを終了する。 | |
loginfo | 4.73以降 | Tera Term のログ取得状態を得る |
logopen | Tera Term のログを開始する。 | |
4.61以降 | ログ再生可能なバイナリオプションの追加。 | |
4.62以降 | ログを開けたかどうか result を返す仕様の追加。 | |
4.80以降 | 端末バッファをログへ含めるオプションの追加。 | |
4.97以降 | ログ行頭へタイムスタンプを追記するオプションの追加。 | |
logpause | Tera Term のログを一時中断する。 | |
logstart | 中断していた Tera Term のログを再開する。 | |
logwrite | 文字列をログに書き込む。>文字列をログに書き込む。 |
使用方法
使用例
・開いたログに対し 32KB 単位で 3 世代ローテーションを行う場合; Open log getspecialfolder str "MyDocuments" changedir str logopen 'teraterm_sample.log' 0 0 ; Start log rotation logrotate 'size' '32K' logrotate 'rotate' 3 pause 600 ; Stop log rotation logrotate 'halt' pause 600 ; Close log logclose・ファイル上部の変数で動作を変更できるように構成した場合
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; 変数設定(環境に合わせて設定) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; logrotateflag = 0 ; 整数型(0 = 設定する、1 = 設定をクリアする) logsize = '1M' ; 文字列型(Byte単位だが K もしくは M も利用可) generation = 3 ; 整数型 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; 変数設定(変更不要) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; set-size = 'size' set-rota = 'rotate' set-halt = 'halt' ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; メイン処理 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; loginfo logname if result == -1 then logopen 'c:\terminal.log' endif if logrotateflag = 0 then logrotate set-size logsize logrotate set-rota generation else logrotate set-halt endif