Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » Mobile Link - サーバ管理 » Mobile Link サーバ API » .NET での同期スクリプトの作成 » .NET 同期論理の作成

 

.NET での Mobile Link サーバ・エラーの処理

ログをスキャンするだけでは不十分な場合は、プログラムによってアプリケーションをモニタリングできます。たとえば、特定のタイプのメッセージを電子メールで送信できます。

ログに出力される各エラー・メッセージまたは各警告メッセージを表すクラスに渡されるメソッドを作成することも可能です。この方法は、Mobile Link サーバをモニタおよび監査するのに役立ちます。

次のコードは、すべてのエラー・メッセージ用にリスナをインストールし、その情報を StreamWriter に出力します。

class TestLogListener {
    public TestLogListener(StreamWriter output_file) {
        _output_file    = output_file;
    }

    public void errCallback(ServerContext sc, LogMessage lm) {
        string type;
        string user;
    
        if (lm.Type == LogMessage.MessageType.ERROR) {
            type = "ERROR";
        } else if (lm.Type==LogMessage.MessageType.WARNING) {
            type = "WARNING";
        }
        else {
            type = "INVALID TYPE!!";
        }
        if (lm.User == null) {
            user = "null";
        } 
        else {
            user = lm.User;
        }

        _output_file.WriteLine("Caught msg type=" + type
            + " user=" + user
            + " text=" + lm.Text);
        _output_file.Flush();
      }
      StreamWriter _output_file;
}

次のコードは、TestLogListener を登録します。クラス・コンストラクタや同期スクリプトなど、ServerContext にアクセスできる場所からこのコードを呼び出してください。

// ServerContext serv_context;
TestLogListener etll = new TestLogListener(log_listener_file);
serv_context.ErrorListener += new LogCallback(etll.errCallback);
参照