Systemwalker Operation Manager リファレンスマニュアル - UNIX/Windows(R)共通 -
目次 索引 前ページ次ページ

第16章 Systemwalkerスクリプト

16.5 スクリプトのデバッグ例

本節では、Systemwalkerスクリプトのデバッグ例として以下の2つの例を説明します。

■デバッグで使用するコマンドの組み込み例

デバッグで使用するコマンド”をスクリプト内に組み込んだ例を以下に示します。

例:引数で渡されたファイルを読み込むスクリプト

スクリプトファイル

level
(注)

出力内容

# トレースオープン
 # 実運用時は"level 2"を削除のこと
 set Trchwnd [sw_TcOpenTrace -level 2 /var/log/G001]
 if {$Trchwnd < 0} {
    puts stderr "Trace open err"
    exit 1
 }
 # 起動ログ出力
 sw_TcWriteTrace $Trchwnd "業務001 START"
 # ファイル名取得
 set filename [lindex $argv 0]
 sw_TcWriteTrace -level 2 $Trchwnd "Input file name: $filename"
 # 動作制御ファイルオープン
 if {[catch {
     set cid [open $filename r]
     }]} {
     # open のエラーをキャッチした場合
     # エラーログ出力
     sw_TcWriteTrace $Trchwnd "File open err (filename :$filename)"
     sw_TcCloseTrace $Trchwnd
     exit 1
 }
 sw_TcWriteTrace -level 2 $Trchwnd "File opened "
 # ファイル読み込み
 set rc [gets $cid buf]
 if {$rc == -1} {
     # ファイルが空のため読み込みバッファにデフォルト値を設定する
     sw_TcWriteTrace -level 2 $Trchwnd "File empty "
     set buf 100
 }
 sw_TcWriteTrace -level 2 $Trchwnd "Gets data: $buf"
 close $cid
 …
 # 終了ログ出力
 sw_TcWriteTrace $Trchwnd "業務001 END"
 sw_TcCloseTrace $Trchwnd








 1


 2






 1



 2




 2


 2



 1








動作ログ


スクリプト内情報
 (ルートチェック)





エラーログ



ルートチェック




ルートチェック


スクリプト内情報
 (ルートチェック)


動作ログ

注)
levelの欄は、トレースレベルを表します。
トレースレベルのデフォルトは1のため、1の場合はコマンド内での指定を省略しています。

■トレースレベルの変の仕方の例

トレースレベルの指定は、Systemwalkerスクリプト内に記述するトレース拡張コマンドのオプションで行います。Systemwalker Operation Managerでの運用中にトレースレベルの変更が必要になった場合、スクリプト内を直接修正するのは困難なため、以下に示すような方法により、スクリプトを変更せずにトレースレベルを変更可能にしておくことができます。

例:
トレースレベル定義ファイルc:\home\etc\trclevelにレベルが記述されている場合【Windows版】

# トレースレベル記述ファイルのオープン,読み込み,クローズ
if {[catch {
    set cid [open {c:\home\etc\trclevel} r]
    gets $cid trclevel
    close $cid
    }]} {
# トレースレベル記述ファイルのエラー
puts stderr "Can not read {c:\home\etc\trclevel}"
exit 1
}
# 指定値チェック
if {$trclevel < 0 || $trclevel > 2} {
    # 指定値エラー
    puts stderr "trace level err :$trclevel"
    exit 1
}
# トレースオープン
set Trchwnd [sw_TcOpenTrace -level $trclevel {c:\var\log\G001.trc}]

sw_TcCloseTrace $Trchwnd
exit 0

例:
トレースレベル定義ファイル“/home/etc/trclevel”にレベルが記述されている場合【UNIX版】

# トレースレベル記述ファイルのオープン,読み込み,クローズ
if {[catch {
    set cid [open /home/etc/trclevel r]
    gets $cid trclevel
    close $cid
    }]} {
# トレースレベル記述ファイルのエラー
puts stderr "Can not read /home/etc/trclevel"
exit 1
}
# 指定値チェック
if {$trclevel < 0 || $trclevel > 2} {
    # 指定値エラー
    puts stderr "trace level err :$trclevel"
    exit 1
}
# トレースオープン
set Trchwnd [sw_TcOpenTrace -level $trclevel /var/log/G001.trc]

sw_TcCloseTrace $Trchwnd
exit 0


目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 1995-2007