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 的 MobiLink 服务器 API 参考

 

LogMessage 类

语法
public ianywhere.ml.script.LogMessage
注释

保存与日志消息相关联的数据。

扩展 java.lang.Object。

另请参见
成员

ianywhere.ml.script.LogMessage 的所有成员,包括所有继承的成员。

示例

下面的示例为所有警告、错误和信息消息安装 LogListener,然后将信息写入一个文件中。以下代码为所有警告消息安装 LogListener。

class WarningLogListener implements LogListener {
    FileOutputStream _outFile; 

    public WarningLogListener(FileOutputStream outFile) {
        _outFile = outFile;
    }

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

        try {
            if (msg.getType() != LogMessage.WARNING) {
                //this class deals exclusively with warnings
                return;
            }
            user = msg.getUser();

            if (user == null) {
                user = "NULL";
            }

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

以下代码为所有错误消息安装 LogListener。

class ErrorLogListener implements LogListener {
    FileOutputStream _outFile; 

    public ErrorLogListener(FileOutputStream outFile) {
        _outFile = outFile;
    }

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

        try {
            if (msg.getType() != LogMessage.ERROR) {
                //this class deals exclusively with errors
                return;
            }

            user = msg.getUser();
            if (user == null) {
                user = "NULL";
            }

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

以下代码为所有信息消息安装 LogListener。

class InfoLogListener implements LogListener {
    FileOutputStream _outFile; 

    public InfoLogListener(FileOutputStream outFile) {
        _outFile = outFile;
    }

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

        try {
            if (msg.getType() != LogMessage.ERROR) {
                // this class deals exclusively with info
                return;
            }

            user = msg.getUser();
            if (user == null) {
                user = "NULL";
            }

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

以下代码注册 WarningLogListener、ErrorLogListener 和 InfoLogListener,以分别接收警告、错误和信息消息。可以从有权访问 ServerContext 的任何位置(例如类构造函数或同步脚本)调用此代码。

// ServerContext serv_context;
// FileOutputStream outFile
serv_context.addWarningListener(new WarningLogListener(outFile));
serv_context.addErrorListener(new ErrorLogListener(outFile));
serv_context.addInfoListener(new InfoLogListener(outFile));

ERROR 变量
INFO 变量
WARNING 变量
getType 方法
getUser 方法
getText 方法