errlog subroutine

Zweck

Protokolliert einen Anwendungsfehler im Systemfehlerprotokoll.

Bibliothek

Laufzeitbibliothek für Services (librts.a)

Syntax

#include <sys/errids.h>
int errlog ( ErrorStructure,  Length)
void *ErrorStructure;
unsigned int Length;

Beschreibung

Die Subroutine errlog schreibt einen Fehlerprotokolleintrag in die Datei /dev/error . Die Subroutine Fehlerprotokoll wird von Anwendungsprogrammen verwendet.

Die Übertragung aus der Struktur err_rec in das Fehlerprotokoll erfolgt durch eine Subroutine write in die Gerätedatei /dev/error .

Der Prozess errdemon liest Daten aus der Datei /dev/error und schreibt den Fehlerprotokolleintrag in das Systemfehlerprotokoll. Die Zeitmarke, die Maschinen-ID, die Knoten-ID und die elementaren Softwareproduktdaten, die dem Ressourcennamen (sofern vorhanden) zugeordnet sind, werden dem Eintrag hinzugefügt, bevor das Protokoll angezeigt wird.

Parameter

Element Beschreibung
ErrorStructure Verweist auf eine Fehlersatzstruktur, die einen Fehlersatz enthält. Gültige Fehlersatzstrukturen werden in die Datei /usr/include/sys/err_rec.h eingegeben. Die beiden verfügbaren Fehlerdatensatzstrukturen sind Fehler_rec und err_rec0. Die Struktur Fehler_rec wird verwendet, wenn diedetail_dataFeld ist erforderlich. Wenn diedetail_dataFeld ist nicht erforderlich, die Struktur err_rec0 wird verwendet.
struct err_rec0 {
   unsigned int  error_id;
   char  resource_name[ERR_NAMESIZE];
};
struct err_rec {
   unsigned int error_id;
   char resource_name[ERR_NAMESIZE];
   char  detail_data[1];
};

Die Felder der Strukturen Fehler_rec und err_rec0 sind:

error_id
Gibt einen Index für die Datenbank für Systemfehlerschablonen an und wird vom Befehl Errupdatum zugeordnet, wenn eine Fehlerschablone hinzugefügt wird Verwenden Sie den Befehl Errupdatum mit dem Flag -h , um einen#defineAnweisung für diesen achtstelligen hexadezimalen Index.
resource_name
Gibt den Namen der Ressource an, die den Fehler festgestellt hat. Bei Softwarefehlern ist dies der Name einer Softwarekomponente oder eines ausführbaren Programms. Bei Hardwarefehlern ist dies der Name einer Einheit oder einer Systemkomponente. Sie gibt nicht an, ob die Komponente fehlerhaft ist oder ausgetauscht werden muss. Sie wird verwendet, um die entsprechenden Diagnosemodule zu bestimmen, die für die Fehleranalyse verwendet werden.
detail_data
Gibt ein Array von 0 bis ERR_REC_MAX Byte an benutzerdefinierten Daten an. Diese Daten können vom Befehl Errpt im hexadezimalen, alphanumerischen oder binären Format angezeigt werden.data_encodingFelder in der Fehlerprotokollvorlage für dieseerror_idFeld.
Länge Gibt die Länge der Fehler_rec -Struktur in Byte an, die der Größe dererror_idundresource_nameFelder plus die Länge derdetail_dataFeld.

Rückgabewerte

Element Beschreibung
0 Der Eintrag wurde erfolgreich protokolliert.
-1 Der Eintrag wurde nicht protokolliert.

Dateien

Element Beschreibung
/dev/error Stellt Standardschnittstellen für Einheitentreiber bereit, die für die Fehlerprotokollkomponente erforderlich sind.
/usr/include/sys/errids.h Enthält Definitionen für Fehler-IDs.
/usr/include/sys/err_rec.h Enthält Strukturen, die als Argumente für den errsave -Kernel-Service und die Subroutine Fehlerprotokoll definiert sind
/var/adm/ras/errlog Verwaltet das Systemfehlerprotokoll.