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 listener for all error messages and prints the information to a StreamWriter.
class TestLogListener {
public TestLogListener(StreamWriter output_file) {
_output_file = output_file;
}
public void errCallback(ServerContext sc, LogMessage lm) {
string type;
string user;
if (lm.Type == LogMessage.MessageType.ERROR) {
type = "ERROR";
} else if (lm.Type==LogMessage.MessageType.WARNING) {
type = "WARNING";
}
else {
type = "INVALID TYPE!!";
}
if (lm.User == null) {
user = "null";
}
else {
user = lm.User;
}
_output_file.WriteLine("Caught msg type=" + type
+ " user=" + user
+ " text=" + lm.Text);
_output_file.Flush();
}
StreamWriter _output_file;
} |
The following code registers the TestLogListener. Call this code from somewhere that has access to the ServerContext such as a class constructor or synchronization script.
// ServerContext serv_context; TestLogListener errtll = new TestLogListener(log_listener_file); serv_context.ErrorListener += new LogCallback(errtll.errCallback); |
See also![]() |
Discuss this page in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |