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

SQL Anywhere 11.0.1 (中文) » MobiLink - 服务器管理 » MobiLink 服务器 API » 使用 Java 语言编写同步脚本 » 编写 Java 同步逻辑

 

使用 Java 处理 MobiLink 服务器错误

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

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

下面的代码为所有警告消息安装 LogListener 并将信息写到一个文件中。

class TestLogListener implements LogListener {
    FileOutputStream _out_file; 

    public TestLogListener(FileOutputStream out_file) {
        _out_file = out_file;
    }

    public void messageLogged(ServerContext sc, LogMessage msg) {
        String  type;
        String  user;

        try {
            if (msg.getType() == LogMessage.ERROR) {
                type = "ERROR";
            } else if (msg.getType() == LogMessage.WARNING) {
                type = "WARNING";
            }
            else {
                type = "UNKNOWN!!!";
            }

            user = msg.getUser();
            if (user == null) {
                user = "NULL";
            }
            _out_file.write(("Caught msg type="
                + type
                + " user=" + user
                + " text=" + msg.getText()
                + "\n").getBytes()
            );
            _out_file.flush();
        }
        catch(Exception e) {
            // Print some error output to the MobiLink log.
            e.printStackTrace();
        }
    }
}

以下代码注册 TestLogListener 来接收警告消息。可以从有权访问 ServerContext 的任何位置(例如类构造函数或同步脚本)调用此代码。

// ServerContext serv_context;
serv_context.addWarningListener(
      new MyLogListener(ll_out_file)
);
另请参见