2019/06/16(日)マクロログ用サブルーチン fnLog
2021/05/21 06:31
マクロログ用サブルーチン fnLog
このサンプルマクロは、以下の仕様を満たすものとします。マクロの目的
マクロ自体の実行ログを出力します。定義する Tera Term マクロ用のサブルーチン fnLog は、変数 pOutputLine の内容をログファイルへ出力するものです。
logopen は connect を正常実行した後でなければ使えないため、connect を使用しない場合のログ取得を行うために開発しています。
利用可能環境
Teraterm
依存する Tera Term バージョン:Tera Term 4.80 以降*1利用する Tera Term コマンド:
種別:制御 | Ver | 機能の簡易説明 |
---|---|---|
call | サブルーチンをコールする。 | |
end | マクロの実行そのものを終了する。 | |
return | サブルーチンを抜け、メインルーチンへ戻る。 | |
種別:文字列操作 | Ver | 機能の簡易説明 |
sprintf2 | 4.62以降 | フォーマットされた出力を返す。 |
種別:ファイル操作 | Ver | 機能の簡易説明 |
fileclose | ファイルハンドルを閉じる。 | |
fileopen | ファイルを開く。 | |
filewriteln | ファイルに文字列を改行付きで書き込む。 | |
getdir | MACRO の現在のディレクトリを得る。 | |
makepath | フルパス名を作成する。 | |
種別:その他 | Ver | 機能の簡易説明 |
gettime | 現在の時刻を得る。 | |
4.57以降 | 書式を指定するオプションの追加。 | |
4.58以降 | 互換性維持のための仕様変更。 | |
4.74以降 | タイムゾーンを指定するオプションの追加。 | |
4.80以降 | マクロ実行前後でタイムゾーンを復元するよう仕様変更。 |
マクロの使い方
別途開発する Tera Term マクロの最後に追記(組み込んで使用)してください。コード
著作権情報
このサンプルマクロに関する著作権は、当サイト管理者が所有しています。著作権者
神場 和也(著作人格権は放棄しません)ライセンス
ほかのプログラムへ、現状のまま組み込んで利用する限り、著作者の許諾は不要です。改変する場合においては、改変した者もしくは改変を許可した法人がすべての責任を負うことを求めます。
なお、著作人格権を持つものに無断でコード自体を商材として利用することを禁じます。
関連情報
(なし)サンプルコード
;;; 環境設定 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ディレクトリ情報 getdir pBaseDir ;; ファイル情報 gettime pLogData "teraterm-rdp-%Y%m%d.log" ; Tera Term ログ makepath pLogFile pBaseDir pLogData ; サブルーチン fnLog 用変数初期化 pOutputLine = '' ;;; メイン処理 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; pOutputLine = 'ログ出力メッセージ' call fnLog ;;; 終了処理 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; end ;;; 関数処理 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; マクロログ取得 :fnLog ; 変数 pOutputLine の内容をログファイルへ出力するサブルーチン。 fileopen fhLog pLogFile 1 ; ログ出力時刻情報取得 gettime pLogTime "%Y/%m/%d %H:%M:%S" ; メッセージ生成 sprintf2 MsgLine "%s %s" pLogTime pOutputLine ; ファイルへ追記して終了 filewriteln fhLog MsgLine fileclose fhLog return