MS Klassen überarbeitet NLOG integriert

This commit is contained in:
Digital Data - Marlon Schreiber
2018-08-16 10:58:57 +02:00
parent be9fca94b3
commit 844a423f7d
76 changed files with 365601 additions and 1752 deletions

View File

@@ -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