public void addInfoListener( LogListener ll )
情報が出力されたときに通知を受信するリスナのリストから、指定した LogListener を追加します。メソッド LogListener.messageLogged (ianywhere.ml.script.ServerContext) が呼び出されます。
ll 通知を受信する LogListener。
次のコードは、MyLogListener 型のリスナを登録して情報メッセージの通知を受信します。
// ServerContext serv_context; serv_context.addInfoListener(new MyLogListener(ll_out_file)); // The following code shows an example of processing those messages: class MyLogListener 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 if (msg.getType() == LogMessage.INFO) { type = "INFO"; } 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) { // if we print the exception from processing an info message, // we may recurse indefinitely if (msg.getType() != LogMessage.ERROR) { // Print some error output to the MobiLink log. e.printStackTrace(); } } } } |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |