0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

サクラエディタ NSS作業ログ用の設定・マクロ

Posted at

NonstopServer(主にGuardian環境)の作業ログをサクラエディタで見る時のタイプ設定。
と、タイプ適用しない場合に使うマクロ。

自分で使っているものをほぼそのまま載せてます。
設定ファイル・マクロ内には多数コメントありますが、
記事内で設定の意味説明などはしていません。

タイプ設定

アウトライン解析ルール

NSSLOG.rul
;Mode=RegexReplace
;RegexOption=i
;CommentChar=#
# アウトライン解析ルール for NSS log
#-----------------------------------
# - teratermログを、行頭Timestamp有で出力している場合、アウトラインに行頭timestamp部分は表示しない
#
# 【留意事項】
# ファイルサイズが大きい場合、解析処理に時間がかかる
#  - ルールを分けてタイプ切替で適用するルールを切り替えるなど検討するとよい
#  - アウトライン解析はせず、検索⇒ブックマークを使う方法もある
#-----------------------------------
# ★ error
^(?:\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}\] ){0,1}(ERROR - .+) /// ★ $1 /// TACL,Lv=1
^(?:\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}\] ){0,1}\*(ABEND|ERROR)\*(.*) /// ★ $1 $2 /// TACL,Lv=1

#-----------------------------------
# TACL
# - 【前提】少なくともpromptが「VOL SUBVOL n>」の形式をとること
# - VOLより前に時刻・Node名等を出している場合にも対応

## 除外
# 【注意】入力⇒削除⇒入力 となってる行の場合、最初の入力に合致すると除外対象
# - 例「vol subvol n> volume $data            fileinfo」⇒volumeコマンド行として除外
# - 例「vol subvol n> fileinfo        history」⇒fileinfoコマンド行として出力
#
# + HISTORY, VOLUME, FC
^(?:\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}\] ){0,1}.*\$\w{1,7} \w{1,8} \d+> +(HISTORY|VOLUME|FC) /// Except
# + prompt以降にコマンドなし(半角スペースのみ含む)
^(?:\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}\] ){0,1}.*\$\w{1,7} \w{1,8} \d+> *$ /// Except

## 出力対象
### コマンド行
#   - ソート利用有無でどちらかを有効化(使わない方は#でコメントアウト)

# * アウトラインのソート利用あり
#   - コマンドを探しやすくするために、コマンドの最初3文字をアウトラインの最初に表示
#   - アウトラインの表示順序をアルファベット順にして使う想定
^(?:\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}\] ){0,1}.*(\$\w{1,7} \w{1,8} \d+> )(.{1,3})(.*) /// $2  $1$2$3 /// TACL,Lv=1

# * アウトラインのソート利用なし
#   - コマンド行がわかればよい場合はこちら
#^(?:\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}\] ){0,1}.*(\$\w{1,7} \w{1,8} \d+> )(.*) /// $1$2$3 /// TACL,Lv=1

### FUP COPYの結果の最終行
(\d+ RECORDS TRANSFERRED) /// $1 /// TACL,Lv=2

#-----------------------------------
# 一覧
## FILEINFO/FUP INFO 結果のVOL.SUBVOL部分
### vol.subvol
^(?:\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}\] ){0,1}(\$\w{1,7}\.\w{1,8}$) /// $1 /// LIST,Lv=2
### node.vol.subvol
^(?:\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}\] ){0,1}(\\\w{1,7}\.\$\w{1,7}\.\w{1,8}$) /// $1 /// LIST,Lv=2

#-----------------------------------
# oss環境
## コマンド行
^(?:\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}\] ){0,1}(/.+[^/]: .+) /// $1 /// oss,Lv=2

#-----------------------------------
# INLINE
## 除外
### ossでのls -la 結果
^(?:\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}\] ){0,1}[d-][rxw-]{9} /// Except

## 出力対象
### inlineprefixとspace以外の文字列がある行
#   - inlineprefix : `-` 必要なら追加
^(?:\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}\] ){0,1}(- *\w[ \w\.\$]+) /// $1 /// INLINE,Lv=2


#-----------------------------------
# EMS emphasis
# - アウトライン表示順序がアルファベット順の場合のorderとして先頭に数字を入れている
# - ノード名プロセス名は環境に合わせて修正する。(必要に応じて追加・削除)

### system A
#   1★ env P
^(?:\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}\] ){0,1}(\d{2}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} \\NODEA\.\$MGP01 +\*.+) /// 1★  $1 /// EMS,Lv=2
^(?:\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}\] ){0,1}(\d{2}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} \\NODEA\.\$PP[A-Z\d]{2,3} +\*.+) /// 1★  $1 /// EMS,Lv=2

#   2★ env Q
^(?:\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}\] ){0,1}(\d{2}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} \\NODEA\.\$MGQ01 +\*.+) /// 2★  $1 /// EMS,Lv=2
^(?:\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}\] ){0,1}(\d{2}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} \\NODEA\.\$PQ[A-Z\d]{2,3} +\*.+) /// 2★  $1 /// EMS,Lv=2

### 9★ others
^(?:\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}\] ){0,1}(\d{2}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} \\[A-Z\d\.\$, ]{15} \*.+) /// 9★  $1 /// EMS,Lv=2

【設定】

タイプ別設定 > スクリーン

アウトライン解析方法で「ルールファイル」選択し、ルールファイルを指定

sakura_type_screen_ed.png

sakura_type_screen_NSSLOGed.png

正規表現keyword

NSSLOG.rkw
// 正規表現キーワード Ver1
RxKey[000]=FN2,/\$\w{1,7} \w{1,8} \d+(> |\.\.)/k
RxKey[001]=FN4,/\d{2}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} \\[A-Z\d\$, ]{15} \*/k
RxKey[002]=FN3,/\d+ RECORDS TRANSFERRED/k

※カラー設定しなくても使えるように、色指定は検索文字列2,3,4を使っている。

【設定】

タイプ別設定 > 正規表現キーワード

「正規表現キーワードを使用する」にチェックし、
インポートでファイルから設定取り込み

sakura_type_rkw_ed.png

sakura_type_rkw_NSSLOG.png

表示サンプル

sakura_NSSLOG_sample1ed.png

アルファベット順でのアウトライン表示
sakura_NSSLOG_sample2ed.png

検索系マクロ

TACLプロンプト

  • ブックマーク
SK_NSS_TACLプロンプトをマーク.js
// サクラエディタマクロ  WSH(JScript)

// NSS TACLプロンプトをマーク
//(SETPROMPT BOTH 前提)
// 「$vol subvol n>」

// 検索文字列
var sKey = '\\$\\w{1,8} \\w{1,8} \\d+> *\\w+';

// 検索オプション
var iOption  = 4 + 8 + 16 + 32;
    iOption += 2048 + 4096;

// ブックマークの全解除
Editor.BookmarkReset( );

Editor.BookmarkPattern(sKey, iOption);

// ブックマークの一覧表示
Editor.BookmarkView( );
// -----------------------------------
// BookmarkPattern
//   arg 3
//     下位bitから
//        1  1   単語単位で探す
//        2  2   英大文字と小文字を区別する
//        4  3 v 正規表現
//        8  4 v 見つからないときにメッセージを表示
//
//       16  5 v ダイアログを自動的に閉じる
//       32  6 v 先頭(末尾)から再検索する
//
//           7 - 11 なし
//
//     2048 12 v 検索キーを履歴に登録しない
//     4096 13 v 検索キー・オプションを元に戻す

  • 検索
SK_NSS_TACLプロンプトを検索.js
// サクラエディタマクロ  WSH(JScript)

// NSS TACLプロンプトを検索
//(SETPROMPT BOTH 前提)
// 「$vol subvol n>」

// 検索文字列
var sKey = '\\$\\w{1,8} \\w{1,8} \\d+> *\\w+';

// 検索オプション
var iOption  = 4 + 8 + 16 + 32;
    iOption += 2048;

Editor.SearchNext(sKey, iOption);

// -----------------------------------
// SearchNext
//   arg 3
//     下位bitから
//        1  1   単語単位で探す
//        2  2   英大文字と小文字を区別する
//        4  3 v 正規表現
//        8  4 v 見つからないときにメッセージを表示
//
//       16  5 v ダイアログを自動的に閉じる
//       32  6 v 先頭(末尾)から再検索する
//
//           7 - 11 なし
//
//     2048 12 v 検索キーを履歴に登録しない
//     4096 13   検索キー・オプションを元に戻す

Enphasis

  • ブックマーク
SK_NSS_EMS_Emphasisをマーク.js
// サクラエディタマクロ  WSH(JScript)
// sakura v2.2.0.0~

// NSS EMS emphasis Eventをマーク
//  「yy-mm-dd HH:MM:SS \node.$pname  *」
//  「yy-mm-dd HH:MM:SS \node.cpu,pid *」
//   timestamp = fix 17
//   process = var 16
//     \node.$pname
//     \node.cpu,pid

// 検索文字列
var sKey  = '^(?:\\[\\d{4}(-\\d{2}){2} \\d{2}(:\\d{2}){2}\\.\\d{3}\\] ){0,1}';
    sKey += '\\d{2}(-\\d{2}){2} \\d{2}(:\\d{2}){2} \\[A-Z\d\$, ]{15} \\*';

// 検索オプション
var iOption  = 4 + 8 + 16 + 32;
    iOption += 2048 + 4096;

// ブックマークの全解除
// Editor.BookmarkReset( );

Editor.BookmarkPattern(sKey, iOption);

// ブックマークの一覧表示
Editor.BookmarkView( );
// -----------------------------------
// BookmarkPattern
//   arg 3
//     下位bitから
//        1  1   単語単位で探す
//        2  2   英大文字と小文字を区別する
//        4  3 v 正規表現
//        8  4 v 見つからないときにメッセージを表示
//
//       16  5 v ダイアログを自動的に閉じる
//       32  6 v 先頭(末尾)から再検索する
//
//           7 - 11 なし
//
//     2048 12 v 検索キーを履歴に登録しない
//     4096 13 v 検索キー・オプションを元に戻す
  • 検索
SK_NSS_EMS_Emphasisを検索.js
// サクラエディタマクロ  WSH(JScript)

// NSS EMS emphasis Eventを検索
//  「yy-mm-dd HH:MM:SS \node.$pname  *」
//  「yy-mm-dd HH:MM:SS \node.cpu,pid *」
//   timestamp = fix 17
//   process = var 16
//     \node.$pname
//     \node.cpu,pid

// 検索文字列
var sKey  = '^(?:\\[\\d{4}(-\\d{2}){2} \\d{2}(:\\d{2}){2}\\.\\d{3}\\] ){0,1}';
    sKey += '\\d{2}(-\\d{2}){2} \\d{2}(:\\d{2}){2} \\[A-Z\d\$, ]{15} \\*';

// 検索オプション
var iOption  = 4 + 8 + 16 + 32;
    iOption += 2048;

Editor.SearchNext(sKey, iOption);

// -----------------------------------
// SearchNext
//   arg 3
//     下位bitから
//        1  1   単語単位で探す
//        2  2   英大文字と小文字を区別する
//        4  3 v 正規表現
//        8  4 v 見つからないときにメッセージを表示
//
//       16  5 v ダイアログを自動的に閉じる
//       32  6 v 先頭(末尾)から再検索する
//
//           7 - 11 なし
//
//     2048 12 v 検索キーを履歴に登録しない
//     4096 13   検索キー・オプションを元に戻す
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?