Thread Wie Log-Verarbeitung ohne Abbruch bewerkstelligen (12 answers)
Opened by YAPD at 2019-05-31 19:09

YAPD
 2019-05-31 19:09
#190069 #190069
User since
2015-09-20
146 Artikel
BenutzerIn

user image
Guten Abend Zusammen,

ich habe eine Frage zu meiner Log - Verarbeitung, bzw. dem richtigen
Handling für meine Anwendung :

Und zwar habe ich einen Aufruf für die Fehler - Verarbeitung :

Code: (dl )
1
2
3
4
5
6
7
8
9
10
if ( $@ ) 																														
{
if ( $CurrentObject && $CurrentObject ne $Package )
{
$Self -> _DieWithError( Error => "Fehler bei der Initialisierung des Unter - Moduls $Package im Modul $CurrentObject" );

} else {
$Self -> _DieWithError( Error => "Fehler bei der Initialisierung des Moduls $Package" );
}
}


Darin prüft die Anwendung, ob ein Modul vorhanden ist bzw. gefunden wurde. In diesem Beispiel "Kernel::System::Falsch"
Ist dies nicht der Fall, wird die Subroutine "_DieWithError" für die Fehlerverarbeitung aufgerufen :

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
sub _DieWithError {

my ( $Self, %Parameter ) = @_;

if ( $Self -> { Objects } -> { 'Kernel::System::Log' } )
{
$Self -> { Objects } -> { 'Kernel::System::Log' } -> Log( Priority => 'Error' ,
Message => $Parameter{ Error } );

}

Carp::croak $Parameter{ Error };
}


Wenn ich das Modul jetzt aufrufen möchte & der Name nicht stimmt, z. B. mit :

Code: (dl )
1
2
3
4
5
if( $Self -> { Debug } == 1 )
{
$Kernel::OM -> Get( 'Kernel::System::Falsch' ) -> start( Priority => 'notice' ,
Message => "Test" );
}


bricht er die ganze Anwendung ab ( Ausgabe in Kommandozeile ) :

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
Fehler - Details :

Stufe : error
Meldung : Fehler bei der Initialisierung des Moduls Kernel::System::Falsch
Identifier : ?LogPrefix?-10
Sub - Routine : Kernel::System::ObjectManager::_DieWithError
Zeile : 205

ERROR : ?LogPrefix?-10 PERL : 5.30.0 OS : MSWin32 Time : Fri May 31 20:06:53 2019

Fehler - Meldung : Fehler bei der Initialisierung des Moduls Kernel::System::Falsch
Fehler bei der Initialisierung des Moduls Kernel::System::Falsch at C:\Scripts\Aktuell/Kernel/System/InterfaceInstaller.pm line 27.


Ich habe im Hintergrund eine Struktur, mit ich die Meldung in Log - Dateien schreibe :

Code: (dl )
1
2
Fri May 31 20:06:53 2019 : Error [ Error ][ Kernel::System::ObjectManager::_DieWithError ][ Line:205 ] : Fehler bei der Initialisierung des Moduls 
Kernel::System::Falsch


Ich stelle es mir so vor, dass er die Meldung in die Datei schreibt, das Programm aber normal weiter läuft.

Könnt ihr mir helfen ?

Vielen Dank im Voraus !

Viele Grüße
YAPD

modedit Editiert von GwenDragon: Titel an Inhalt angepasst
Last edited: 2019-06-01 13:08:02 +0200 (CEST)
Yet Another Perl Developer

View full thread Wie Log-Verarbeitung ohne Abbruch bewerkstelligen