MS Klassen überarbeitet NLOG integriert
This commit is contained in:
@@ -1,11 +1,14 @@
|
||||
Imports System.IO
|
||||
'Imports System.Collections.ObjectModel
|
||||
Imports System.ComponentModel
|
||||
Imports Modules.Logging.Logger
|
||||
Imports Modules.Logging
|
||||
Public Class DDWDResultHandler
|
||||
#Region "+++++ Variablen +++++"
|
||||
Public Shared _windream As New ClassWMResulthandler.clsWindream_allgemein
|
||||
Private Shared _windream As DD_WMResulthandler.clsWindream_allgemein
|
||||
Private Shared _MyLoggerConfig As Modules.Logging.Logger
|
||||
Public Shared threadRunner As BackgroundWorker
|
||||
|
||||
Private Shared Logger As NLog.Logger = NLog.LogManager.GetCurrentClassLogger
|
||||
Public Shared _PROFIL_ID As Integer
|
||||
Dim _INTERVALL As Integer
|
||||
'Variablen für Dateiimporter
|
||||
@@ -28,19 +31,20 @@ Public Class DDWDResultHandler
|
||||
End Try
|
||||
Try
|
||||
Try
|
||||
clsLogger.Init(My.Application.Info.DirectoryPath & "\Log", "_SERVICEResultHandler")
|
||||
clsLogger.Add("WindreamResultHandler gestartet - " & Now, False)
|
||||
_MyLoggerConfig = New Logger(PathType.CurrentDirectory)
|
||||
' clsLogger.Init(My.Application.Info.DirectoryPath & "\Log", "_SERVICEResultHandler")
|
||||
Logger.Info("WindreamResultHandler gestartet - " & Now)
|
||||
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)
|
||||
Logger.Warn("Achtung: Es wurde noch kein Datenbank-ConnectionString hinterlegt.")
|
||||
Else
|
||||
If ClassWMResulthandler.clsDatatabase.Init(My.Settings.SQLSERVER_CS) = False Then
|
||||
clsLogger.Add("Achtung: Es konnte keine Verbindung zur Datenbank '" & My.Settings.SQLSERVER_CS & "' hergestellt werden!", True)
|
||||
clsLogger.WriteLog()
|
||||
If DD_WMResulthandler.clsDatatabase.Init(My.Settings.SQLSERVER_CS) = False Then
|
||||
Logger.Warn("Achtung: Es konnte keine Verbindung zur Datenbank '" & My.Settings.SQLSERVER_CS & "' hergestellt werden!")
|
||||
|
||||
Else
|
||||
' '#Thread für Durchlauf generieren
|
||||
DDWDResultHandler.threadRunner = New BackgroundWorker()
|
||||
@@ -57,14 +61,14 @@ Public Class DDWDResultHandler
|
||||
Timer_Durchlauf.Interval = 60000
|
||||
'ClassLogger.Add("Timer - Intervall: " & clsSQLITE.konf_intervall & " Minuten", False)
|
||||
Timer_Durchlauf.Enabled = True
|
||||
clsLogger.AddDetailLog("Timer gestartet")
|
||||
Logger.Info("Timer gestartet")
|
||||
' Und den Durchlauf das erste Mal starten
|
||||
threadRunner.RunWorkerAsync()
|
||||
End If
|
||||
End If
|
||||
Catch ex As Exception
|
||||
EventLog.WriteEntry("DDWMResultHandler", "Unexpected error in OnStart: " & ex.ToString(), EventLogEntryType.Error)
|
||||
clsLogger.AddError(ex.Message, "OnStart")
|
||||
Logger.Error(ex)
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
@@ -77,10 +81,8 @@ Public Class DDWDResultHandler
|
||||
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("WindreamResultHandler wurde gestoppt - " & Now, False)
|
||||
ClassWMResulthandler.clsDatatabase.Execute_non_Query("Update TBWMRH_PROFIL SET Running = 1 WHERE GUID = " & _PROFIL_ID)
|
||||
clsLogger.Add("", False)
|
||||
clsLogger.WriteLog()
|
||||
Logger.Warn("WindreamResultHandler wurde gestoppt - " & Now)
|
||||
DD_WMResulthandler.clsDatatabase.Execute_non_Query("Update TBWMRH_PROFIL SET Running = 1 WHERE GUID = " & _PROFIL_ID)
|
||||
Catch ex As Exception
|
||||
EventLog.WriteEntry("DDWMResultHandler", "Unexpected error in OnStop: " & ex.ToString(), EventLogEntryType.Error)
|
||||
End Try
|
||||
@@ -89,62 +91,63 @@ Public Class DDWDResultHandler
|
||||
Public Shared Sub RUN_THREAD(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs)
|
||||
Try
|
||||
Dim notcompleted As Boolean = False
|
||||
clsLogger.Init(My.Application.Info.DirectoryPath & "\Log", "_SERVICEResultHandler")
|
||||
clsLogger.Add("Start Durchlauf WindreamResultHandler - " & Now, False)
|
||||
clsLogger.Add("", False)
|
||||
'clsLogger.Init(My.Application.Info.DirectoryPath & "\Log", "_SERVICEResultHandler")
|
||||
Logger.Info("Start Durchlauf WindreamResultHandler - " & Now)
|
||||
' Windream instanziieren
|
||||
_windream = New DD_WMResulthandler.clsWindream_allgemein()
|
||||
'windream initialisieren
|
||||
If _windream.Init() = True Then
|
||||
clsLogger.AddDetailLog("windream vollumfänglich initialisiert!")
|
||||
Logger.Info("windream vollumfänglich initialisiert!")
|
||||
'Zur sicherheit die DB nochmal initialiseren
|
||||
If ClassWMResulthandler.clsDatatabase.Init(My.Settings.SQLSERVER_CS) = True Then
|
||||
Dim DT As DataTable = ClassWMResulthandler.clsDatatabase.Return_Datatable("select * from TBWMRH_KONFIGURATION where GUID = 1")
|
||||
If DD_WMResulthandler.clsDatatabase.Init(My.Settings.SQLSERVER_CS) = True Then
|
||||
Dim DT As DataTable = DD_WMResulthandler.clsDatatabase.Return_Datatable("select * from TBWMRH_KONFIGURATION where GUID = 1")
|
||||
If DT.Rows.Count = 1 Then
|
||||
ClassWMResulthandler.clsCURRENT.LOG_ERRORS_ONLY = DT.Rows(0).Item("LOG_ERRORS_ONLY")
|
||||
If ClassWMResulthandler.clsCURRENT.LOG_ERRORS_ONLY = False Then
|
||||
clsLogger.Add("Detaillog is ON!", False)
|
||||
DD_WMResulthandler.clsCURRENT.LOG_ERRORS_ONLY = DT.Rows(0).Item("LOG_ERRORS_ONLY")
|
||||
_MyLoggerConfig.Debug = Not DT.Rows(0).Item("LOG_ERRORS_ONLY")
|
||||
If DD_WMResulthandler.clsCURRENT.LOG_ERRORS_ONLY = False Then
|
||||
Logger.Info("Detaillog is ON!")
|
||||
End If
|
||||
ClassWMResulthandler.clsCURRENT.WDLAUFWERK = DT.Rows(0).Item("WD_LAUFWERK")
|
||||
DD_WMResulthandler.clsCURRENT.WDLAUFWERK = DT.Rows(0).Item("WD_LAUFWERK")
|
||||
|
||||
End If
|
||||
DT = ClassWMResulthandler.clsDatatabase.Return_Datatable("SELECT GUID FROM TBWMRH_PROFIL WHERE AKTIV = 1 order by REIHENFOLGE")
|
||||
DT = DD_WMResulthandler.clsDatatabase.Return_Datatable("SELECT GUID FROM TBWMRH_PROFIL WHERE AKTIV = 1 order by REIHENFOLGE")
|
||||
If DT.Rows.Count > 0 Then
|
||||
clsLogger.AddDetailLog("Anzahl der aktiven Profile: " & DT.Rows.Count.ToString)
|
||||
Logger.Info("Anzahl der aktiven Profile: " & DT.Rows.Count.ToString)
|
||||
For Each DR As DataRow In DT.Rows
|
||||
_PROFIL_ID = CInt(DR.Item("GUID"))
|
||||
'Und nun das Profil durchlaufen
|
||||
Dim initresult = ClassWMResulthandler.clsProfil.Init(_PROFIL_ID)
|
||||
Dim initresult = DD_WMResulthandler.clsProfil.Init(_PROFIL_ID)
|
||||
If initresult = True Then
|
||||
clsLogger.WriteLog()
|
||||
ClassWMResulthandler.clsProfil.Profil_Durchlauf()
|
||||
DD_WMResulthandler.clsProfil.Profil_Durchlauf()
|
||||
ElseIf initresult = False Then
|
||||
clsLogger.Add("clsProfil konnte nicht initialisiert werden", True, "RUN_THREAD")
|
||||
Logger.Warn("clsProfil konnte nicht initialisiert werden")
|
||||
notcompleted = True
|
||||
ElseIf initresult = 0 Then
|
||||
clsLogger.AddDetailLog("initresult: 0")
|
||||
Logger.Info("initresult: 0")
|
||||
notcompleted = True
|
||||
ElseIf initresult = 1 Then
|
||||
clsLogger.AddDetailLog("initresult: 1")
|
||||
Logger.Info("initresult: 1")
|
||||
notcompleted = True
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
clsLogger.Add("Keine aktiven Profile vorhanden", False)
|
||||
Logger.Warn("Keine aktiven Profile vorhanden")
|
||||
notcompleted = True
|
||||
End If
|
||||
ClassWMResulthandler.clsDatatabase.Execute_non_Query("UPDATE TBWMRH_KONFIGURATION SET LAST_TICK = GETDATE() WHERE GUID = 1")
|
||||
DD_WMResulthandler.clsDatatabase.Execute_non_Query("UPDATE TBWMRH_KONFIGURATION SET LAST_TICK = GETDATE() WHERE GUID = 1")
|
||||
Else
|
||||
clsLogger.Add("clsDatabase konnte nicht initialisiert werden!", False)
|
||||
Logger.Warn("clsDatabase konnte nicht initialisiert werden!")
|
||||
notcompleted = True
|
||||
End If
|
||||
Else
|
||||
clsLogger.Add("# Achtung: Windream-Init mit Fehlern beendet", False)
|
||||
Logger.Warn("# Achtung: Windream-Init mit Fehlern beendet")
|
||||
notcompleted = True
|
||||
End If
|
||||
If notcompleted = True Then
|
||||
clsLogger.WriteLog()
|
||||
|
||||
End If
|
||||
Catch ex As Exception
|
||||
clsLogger.AddError(ex.Message, "RUN_THREAD")
|
||||
Logger.Error(ex)
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
@@ -155,12 +158,11 @@ Public Class DDWDResultHandler
|
||||
Dim result As String = ""
|
||||
|
||||
If e.Cancelled Then
|
||||
clsLogger.Add("Der Process wurde durch den Anwender abgebrochen", False)
|
||||
clsLogger.WriteLog()
|
||||
Logger.Warn("Der Process wurde durch den Anwender abgebrochen")
|
||||
|
||||
ElseIf e.Error IsNot Nothing Then
|
||||
clsLogger.Add("Fehler bei Durchlauf. Der Vorgang wird abgebrochen.", True, "Thread_Completed")
|
||||
clsLogger.Add(e.Error.Message, True, "Thread_Completed")
|
||||
clsLogger.WriteLog()
|
||||
Logger.Warn("Fehler bei Durchlauf. Der Vorgang wird abgebrochen: " & e.Error.Message)
|
||||
|
||||
End If
|
||||
|
||||
'If DI_Verzeichnisloeschen Then
|
||||
@@ -182,7 +184,8 @@ Public Class DDWDResultHandler
|
||||
Return True
|
||||
Catch ex As Exception
|
||||
EventLog.WriteEntry("DDWMResultHandler", "Unexpected error in Thread_Abbrechen: " & ex.ToString(), EventLogEntryType.Error)
|
||||
clsLogger.AddError(ex.Message, "Thread_Abbrechen")
|
||||
Logger.Error(ex)
|
||||
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Reference in New Issue
Block a user