MS Errorhandling eventlogger

This commit is contained in:
Digital Data - Marlon Schreiber
2018-02-02 10:50:25 +01:00
parent 8e5fd9e663
commit d835accd7d
4 changed files with 59 additions and 22 deletions

View File

@@ -16,27 +16,34 @@ Public Class DDWDResultHandler
Public Sub New()
MyBase.New()
InitializeComponent()
If Not System.Diagnostics.EventLog.SourceExists("Windream Result Handler") Then
System.Diagnostics.EventLog.CreateEventSource("Windream Result Handler",
"DigitalData Log")
End If
'EventLog1.Source = "Windream Result Handler"
'EventLog1.Log = "DigitalData Log"
End Sub
Protected Overrides Sub OnStart(ByVal args() As String)
' Code zum Starten des Dienstes hier einfügen. Diese Methode sollte Vorgänge
' ausführen, damit der Dienst gestartet werden kann.
'EventLog1.WriteEntry("Dienst 'DD windream Result Handler' gestartet")
Try
clsLogger.Init(My.Application.Info.DirectoryPath & "\Log", "logResultHandler_")
clsLogger.Add(" ", False)
clsLogger.Add("## WindreamResultHandler gestartet - " & Now & " ## ", False)
If Not System.Diagnostics.EventLog.SourceExists("DDWMResultHandler") Then
System.Diagnostics.EventLog.CreateEventSource("DDWMResultHandlerr", "DigitalData Log")
End If
Catch ex As Exception
EventLog.WriteEntry("DDWMResultHandler", "ERROR in Creating source:" & ex.ToString(), EventLogEntryType.Error)
End Try
Try
Try
clsLogger.Init(My.Application.Info.DirectoryPath & "\Log", "_SERVICEResultHandler")
clsLogger.Add(" ", False)
clsLogger.Add("## WindreamResultHandler gestartet - " & Now & " ## ", False)
Catch ex As Exception
EventLog.WriteEntry("DDWMResultHandler", "ERROR in CREATING-LOG:" & ex.ToString(), EventLogEntryType.Error)
End Try
If My.Settings.SQLSERVER_CS = String.Empty Then
clsLogger.Add("Achtung: Es wurde noch kein Datenbank-ConnectionString hinterlegt.", True)
Else
If clsDatatabase.Init = False Then
clsLogger.Add("Achtung: Es konnte keine Verbindung zur Datenbank '" & My.Settings.SQLSERVER_CS & "' hergestellt werden!", True)
clsLogger.WriteLog()
Else
' '### Thread für Durchlauf generieren
DDWDResultHandler.threadRunner = New BackgroundWorker()
@@ -59,6 +66,7 @@ Public Class DDWDResultHandler
End If
End If
Catch ex As Exception
EventLog.WriteEntry("DDWMResultHandler", "Unexpected error in OnStart: " & ex.ToString(), EventLogEntryType.Error)
clsLogger.AddError(ex.Message, "OnStart")
End Try
@@ -69,13 +77,18 @@ Public Class DDWDResultHandler
End If
End Sub
Protected Overrides Sub OnStop()
' Hier Code zum Ausführen erforderlicher Löschvorgänge zum Beenden des Dienstes einfügen.
'EventLog1.WriteEntry("Dienst 'DD windream Result Handler' gestoppt")
clsLogger.Add("", False)
clsLogger.Add("## WindreamResultHandler wurde gestoppt - " & Now & " ## ", False)
clsDatatabase.Execute_non_Query("Update TBWMRH_PROFIL SET Running = 1 WHERE GUID = " & _PROFIL_ID)
clsLogger.Add("", False)
clsLogger.WriteLog()
Try
' Hier Code zum Ausführen erforderlicher Löschvorgänge zum Beenden des Dienstes einfügen.
'EventLog1.WriteEntry("Dienst 'DD windream Result Handler' gestoppt")
clsLogger.Add("", False)
clsLogger.Add("## WindreamResultHandler wurde gestoppt - " & Now & " ## ", False)
clsDatatabase.Execute_non_Query("Update TBWMRH_PROFIL SET Running = 1 WHERE GUID = " & _PROFIL_ID)
clsLogger.Add("", False)
clsLogger.WriteLog()
Catch ex As Exception
EventLog.WriteEntry("DDWMResultHandler", "Unexpected error in OnStop: " & ex.ToString(), EventLogEntryType.Error)
End Try
End Sub
Public Shared Sub RUN_THREAD(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs)
Try
@@ -125,7 +138,7 @@ Public Class DDWDResultHandler
End If
clsDatatabase.Execute_non_Query("UPDATE TBWMRH_KONFIGURATION SET LAST_TICK = GETDATE() WHERE GUID = 1")
Else
clsLogger.Add("- clsSQLLite konnte nicht initialisiert werden!", False)
clsLogger.Add("- clsDatabase konnte nicht initialisiert werden!", False)
notcompleted = True
End If
Else
@@ -163,7 +176,7 @@ Public Class DDWDResultHandler
' End Try
'End If
Catch ex As Exception
clsLogger.AddError(ex.Message, "Thread_Completed")
EventLog.WriteEntry("DDWMResultHandler", "Unexpected error in Thread_Completed: " & ex.ToString(), EventLogEntryType.Error)
End Try
End Sub
Public Shared Function Thread_Abbrechen()
@@ -173,6 +186,7 @@ Public Class DDWDResultHandler
End If
Return True
Catch ex As Exception
EventLog.WriteEntry("DDWMResultHandler", "Unexpected error in Thread_Abbrechen: " & ex.ToString(), EventLogEntryType.Error)
clsLogger.AddError(ex.Message, "Thread_Abbrechen")
Return False
End Try

View File

@@ -1,6 +1,7 @@
Imports System.Data.SqlClient
Imports Oracle.ManagedDataAccess.Client
Public Class clsDatatabase
Private Shared MSSQL_inited As Boolean = False
Public Shared Function ExecuteonOracleDb(CONSTRING As String, ByVal plsqlcommand As String)
Try
' die nötigen Variablen definieren
@@ -113,7 +114,7 @@ Public Class clsDatatabase
End Function
Public Shared Function ExecuteonMSSQL(ConString As String, ByVal sqlcommand As String)
Try
If MSSQL_inited = False Then Return False
' die nötigen Variablen definieren
Dim Connection As SqlConnection = Nothing
' Dim ConnectionString As SqlConnectionStringBuilder = Nothing
@@ -177,7 +178,6 @@ Public Class clsDatatabase
End Function
Private Shared connectionString As String
Public Shared Function Init()
Try
connectionString = My.Settings.SQLSERVER_CS
@@ -185,6 +185,7 @@ Public Class clsDatatabase
SQLconnect.ConnectionString = connectionString
SQLconnect.Open()
SQLconnect.Close()
MSSQL_inited = True
Return True
Catch ex As Exception
clsLogger.Add("Error in DatabaseInit: " & ex.Message, True)
@@ -196,6 +197,7 @@ Public Class clsDatatabase
Public Shared Function Return_Datatable(Select_anweisung As String)
Try
If MSSQL_inited = False Then Return Nothing
Dim SQLconnect As New SqlClient.SqlConnection
Dim SQLcommand As SqlClient.SqlCommand
@@ -221,6 +223,7 @@ Public Class clsDatatabase
End Try
End Function
Public Shared Function Execute_non_Query(ExecuteCMD As String)
If MSSQL_inited = False Then Return False
Try
Dim SQLconnect As New SqlClient.SqlConnection
Dim SQLcommand As SqlClient.SqlCommand
@@ -248,6 +251,7 @@ Public Class clsDatatabase
End Function
Public Shared Function Execute_Scalar(cmdscalar As String)
If MSSQL_inited = False Then Return Nothing
Dim result
Try

View File

@@ -244,6 +244,7 @@ Public Class clsDateiverarbeitung
doc.Ivalidfrom = now
doc.Ivaliduntil = now.AddDays(30)
doc.Pfad = link
doc.Dateiname = WMFile.aName
doc.Kategorien = New List(Of BNSDocumentCategory) From {
New BNSDocumentCategory With {.Id = GetDocTypeCategory(DOKART)}
}
@@ -333,7 +334,13 @@ Public Class clsDateiverarbeitung
Return False
End Try
End Function
Private Shared Function REPLACE_CONSTANT(WMFile As WMObject, _String As String)
Try
Catch ex As Exception
End Try
End Function
Private Shared Function REGEX_REPLACE(WMFile As WMObject, _STRING As String)
Try
' Regulären Ausdruck zum Auslesen der windream-Indexe definieren
@@ -364,10 +371,10 @@ Public Class clsDateiverarbeitung
wdIndexwert = wdIndexwert.ToString.TrimStart
clsLogger.AddDetailLog("Ausgelesener Indexwert = '" & wdIndexwert & "'")
_STRING = _STRING.Replace(reg_element.Value, wdIndexwert.ToString)
clsLogger.AddDetailLog("Namenkonvention (" & i & ") " & _STRING)
clsLogger.AddDetailLog("SQL-String so far (" & i & ") " & _STRING)
i += 1
Else
clsLogger.Add(">> Achtung gelesener Wert ist ein Vektorfeld - keine Umbenennung möglich ", False, "clsProfil.Profil_Durchlauf")
clsLogger.Add(">> Achtung gelesener Wert ist ein Vektorfeld - keine Ersetzung möglich ", False, "clsProfil.Profil_Durchlauf")
Return Nothing
End If
End If
@@ -391,6 +398,7 @@ Public Class clsDateiverarbeitung
Public Primaer As Boolean = False
Public Fremsysid As Integer = 1
Public Kategorien As List(Of BNSDocumentCategory)
Public Dateiname As String
End Class
Public Class BNSDocumentCategory

View File

@@ -5,6 +5,7 @@ Public Class clsLogger
Public Shared LogFilename As String
Private Shared logErr_name As String
Private Shared log_string As String
Private Shared Inited As Boolean = False
Public Shared Function Init(ByVal speicherort As String, ByVal prefix As String)
Try
'Den Speicherort festlegen
@@ -41,6 +42,7 @@ Public Class clsLogger
Return False
End Try
'Alles Ok
Inited = True
Return True
Catch ex As Exception
LogEscalation_Error("Unexpected Error in init Logger - Error: " & ex.Message)
@@ -74,6 +76,9 @@ Public Class clsLogger
LogPath = My.Application.Info.DirectoryPath & "\Log\"
End Sub
Public Shared Sub Add(ByVal text As String, ByVal _error As Boolean, Optional ByVal Funktion As String = "")
If Inited = False Then
Exit Sub
End If
Dim msg As String
If log_string <> "" Then
log_string &= vbNewLine
@@ -89,6 +94,9 @@ Public Class clsLogger
log_string &= msg
End Sub
Public Shared Sub AddError(ByVal error_string As String, Optional ByVal Funktion As String = "")
If Inited = False Then
Exit Sub
End If
Try
'Zuerst mal die Details schreiben
WriteLog()
@@ -120,6 +128,9 @@ Public Class clsLogger
End Sub
Public Shared Sub AddDetailLog(ByVal text As String)
If Inited = False Then
Exit Sub
End If
Try
If LOG_ERRORS_ONLY = False Then
If log_string <> "" Then