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() ); _out_file.flush(); } catch( Exception e ) { // Print some error output to the MobiLink log. e.printStackTrace(); } } }
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; serv_context.addWarningListener( new MyLogListener( ll_out_file ));
========================
http://iihero.8800.org/
========================
Regards,
Sean.
▁▁▁▁▁
▕ █ ██ ▏
▕▔▔ ▔▔\
▕═╭╮══╭╮══
▔╰╯▔▔╰╯▔▔o
▔▔▔▔▔▔▔▔▔▔
没有评论:
发表评论