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

SQL Anywhere 12.0.0 (中文) » MobiLink - 服务器管理 » MobiLink 服务器 API » 使用 .NET 编写同步脚本 » 编写 .NET 同步逻辑

 

使用 .NET 处理 MobiLink 服务器错误

如果扫描日志无法获取足够的信息,可以通过编程方式监控应用程序。例如,可以通过电子邮件发送某类消息。

您可以编写方法,用于接收代表输出到日志中每条错误或警告消息的类。这样可以帮助您监控和审计 MobiLink 服务器。

以下代码为所有错误消息安装监听器,并将信息输出到 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 errtll = new TestLogListener(log_listener_file);
serv_context.ErrorListener += new LogCallback(errtll.errCallback);
 另请参见