Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (Deutsch) » MobiLink - Serveradministration » MobiLink-Server-APIs » Synchronisationsskripten in .NET » .NET-Synchronisationslogik

 

Fehlerbehandlung des MobiLink-Servers mit .NET

Wenn das Durchsuchen des Logs nicht ausreicht, können Sie Ihre Anwendungen mithilfe von Programmen überwachen. Sie können z.B. Nachrichten eines bestimmten Typs in einer E-Mail versenden.

Sie können Methoden erstellen, die einer Klasse übergeben werden, die jeden Fehler oder jede Warnung umfasst, die im Log gespeichert werden. Dies kann Ihnen helfen, einen MobiLink-Server zu überwachen und mit der Audit-Funktion zu überprüfen.

Der folgende Code installiert einen Listener für alle Fehlermeldungen und schreibt die Informationen in einen 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;
}

Mit dem nachfolgenden Code registrieren Sie den TestLogListener. Rufen Sie diesen Code dort auf, von wo aus Sie Zugriff auf den ServerContext haben, z.B. in einem Klassenkonstruktor oder einem Synchronisationsskript.

// ServerContext serv_context;
TestLogListener errtll = new TestLogListener(log_listener_file);
serv_context.ErrorListener += new LogCallback(errtll.errCallback);
 Siehe auch