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

View File

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

View File

@@ -244,6 +244,7 @@ Public Class clsDateiverarbeitung
doc.Ivalidfrom = now doc.Ivalidfrom = now
doc.Ivaliduntil = now.AddDays(30) doc.Ivaliduntil = now.AddDays(30)
doc.Pfad = link doc.Pfad = link
doc.Dateiname = WMFile.aName
doc.Kategorien = New List(Of BNSDocumentCategory) From { doc.Kategorien = New List(Of BNSDocumentCategory) From {
New BNSDocumentCategory With {.Id = GetDocTypeCategory(DOKART)} New BNSDocumentCategory With {.Id = GetDocTypeCategory(DOKART)}
} }
@@ -333,7 +334,13 @@ Public Class clsDateiverarbeitung
Return False Return False
End Try End Try
End Function 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) Private Shared Function REGEX_REPLACE(WMFile As WMObject, _STRING As String)
Try Try
' Regulären Ausdruck zum Auslesen der windream-Indexe definieren ' Regulären Ausdruck zum Auslesen der windream-Indexe definieren
@@ -364,10 +371,10 @@ Public Class clsDateiverarbeitung
wdIndexwert = wdIndexwert.ToString.TrimStart wdIndexwert = wdIndexwert.ToString.TrimStart
clsLogger.AddDetailLog("Ausgelesener Indexwert = '" & wdIndexwert & "'") clsLogger.AddDetailLog("Ausgelesener Indexwert = '" & wdIndexwert & "'")
_STRING = _STRING.Replace(reg_element.Value, wdIndexwert.ToString) _STRING = _STRING.Replace(reg_element.Value, wdIndexwert.ToString)
clsLogger.AddDetailLog("Namenkonvention (" & i & ") " & _STRING) clsLogger.AddDetailLog("SQL-String so far (" & i & ") " & _STRING)
i += 1 i += 1
Else 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 Return Nothing
End If End If
End If End If
@@ -391,6 +398,7 @@ Public Class clsDateiverarbeitung
Public Primaer As Boolean = False Public Primaer As Boolean = False
Public Fremsysid As Integer = 1 Public Fremsysid As Integer = 1
Public Kategorien As List(Of BNSDocumentCategory) Public Kategorien As List(Of BNSDocumentCategory)
Public Dateiname As String
End Class End Class
Public Class BNSDocumentCategory Public Class BNSDocumentCategory

View File

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