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

SQL Anywhere 12.0.0 (Français) » MobiLink - Server Administration » MobiLink server APIs » Writing synchronization scripts in Java » Writing Java synchronization logic


Handling MobiLink server errors in Java

When scanning the log is not enough, you can monitor your applications programmatically. For example, you can send messages of a certain type in an email.

You can write methods that are passed a class representing every error or warning message that is printed to the log. This may help you monitor and audit a MobiLink server.

The following code installs a LogListener for all warning messages, and writes the information to a file.

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()
        catch(Exception e) {
            // Print some error output to the MobiLink log.

The following code registers TestLogListener to receive warning messages. Call this code from anywhere that has access to the ServerContext such as a class constructor or synchronization script.

// ServerContext serv_context;
      new MyLogListener(ll_out_file)
 See also