如果扫描日志无法获取足够的信息,可以通过编程方式监控应用程序。例如,可以通过电子邮件发送某类消息。
您可以编写方法,用于接收代表输出到日志中每条错误或警告消息的类。这样可以帮助您监控和审计 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) ); |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |