Contents Index Debugging Java classes User-defined start classes

MobiLink Synchronization User's Guide
  Writing Synchronization Scripts in Java
    Writing Java synchronization logic

Handling MobiLink server errors in Java


When scanning the log is not sufficient, 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 synchronization 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() );
                _out_file.flush();
            } catch( Exception e ) {
              // print some error output to the MobiLink log
                e.printStackTrace();
            }
        }
    }
// This line of code will register 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;
serv_context.addWarningListener(
      new MyLogListener( ll_out_file ));
See also 

addErrorListener, removeErrorListener, addWarningListener, removeWarningListener in ServerContext interface

LogListener interface

LogMessage class


Contents Index Debugging Java classes User-defined start classes