Beispielcode für die Codevorlage für die Linux C-Protokollausgabe

Beispielcode für die Codevorlage für die Linux C-Protokollausgabe

Vorwort

Dieser Artikel stellt hauptsächlich den relevanten Inhalt zur Protokollausgabecodevorlage unter Linux C vor und gibt ihn zu Ihrer Referenz und zum Lernen weiter. Werfen wir einen Blick auf die ausführliche Einführung.

Vorlage

Die Vorlage ist in zwei Dateien aufgeteilt: log.c und log.h.

log.c

/** log.c **/
#include <unistd.h>
#include "log.h"

// Pfad der Protokolldatei #define filepath "./ps_com_log.log"
 
//Zeit einstellen static char * settime(char * time_s){
 time_t Timer = Zeit(NULL);
 strftime(Zeit_s, 20, "%Y-%m-%d %H:%M:%S",lokale Zeit(&Timer));
 Rückgabezeit_s;
}
 
/*
 *Drucken* */
statische int PrintfLog(char * logText, char * string){
 DATEI *fd = NULL;
 Zeichen s[1024];
 Zeichen tmp[256];

 //Öffnen Sie die Datei mit der Append-Methode fd = fopen(filepath,"a+");
 wenn(fd == NULL){
  Rückgabe -1;
 }
 
 memset(s, 0, Größe von(s));
 memset(tmp, 0, Größe von(tmp));
 
 sprintf(tmp, "*****[pid=%d]:[", getpid());
 strcpy(s, tmp);
 
 memset(tmp, 0, Größe von(tmp));
 Zeit einstellen(tmp);
 strcat(s, tmp);

 strcat(s, "]*****");
 fprintf(fd, "%s", s);

 fprintf(fd, "*[%s]*****:\n",logText); 
 fprintf(fd, "%s\n",Zeichenfolge); 
 fschließen(fd);
}
 
 /*
 *Protokoll schreiben* */
void LogWrite(char *logText,char *string)
{
 //[Sperre ist zur Unterstützung von Multithreading erforderlich] pthread_mutex_lock(&mutex_log); //Sperre. 
 //Protokollinformationen drucken PrintfLog(logText, string);
                  
 //[Sperre ist zur Unterstützung von Multithreading erforderlich] pthread_mutex_unlock(&mutex_log); //entsperren.            
}

log.h

#ifndef __LOG_H__
#define __LOG_H__
#include <stdio.h>
#include <string.h>
#include <zeit.h>
 

void LogWrite(char * logText,char *string);

#endif /* __LOG_H__ */

Testdateien

Nachdem wir nun über die Protokollausgabefunktion verfügen, führen wir einen einfachen Test durch:

#include "stdio.h"
#include "log.h"
int main(int argv,char**argc){
 printf("test\n");
 LogWrite("INFO","Hallo Welt!");
 LogWrite("Fehler","Hallo Welt!");
 LogWrite("mint","Hallo Welt!");
 LogWrite("iout","Hallo Welt!");

 gebe 0 zurück;
}

Der obige Code ist sehr einfach und wird nicht im Detail erklärt.

Laufergebnisse:

*****[pid=15971]:[2018-12-05 14:24:21]*****[INFO]*****:
Hallo Welt!
*****[pid=15971]:[2018-12-05 14:24:21]*****[Fehler]*****:
Hallo Welt!
*****[pid=15971]:[2018-12-05 14:24:21]*****[Minze]*****:
Hallo Welt!
*****[pid=15971]:[2018-12-05 14:24:21]*****[iout]*****:
Hallo Welt!

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Linux verwendet logrotate, um Protokolldateien zu kürzen
  • Zusammenfassung des Logrotate-Protokollabfragevorgangs unter Linux

<<:  Implementierungsschritte zum Erstellen mehrseitiger Programme mit Webpack

>>:  Das WeChat-Applet ermöglicht horizontales und vertikales Scrollen

Artikel empfehlen

mysqldump-Parameter, die Sie möglicherweise nicht kennen

Im vorherigen Artikel wurde erwähnt, dass die in ...

5 Möglichkeiten, um schnell den Leerraum eines Inline-Blocks in HTML zu entfernen

Der Eigenschaftswert „Inline-Block“ ist sehr nütz...

Funktionsprinzip und Implementierungsmethode der Vue-Anweisung

Einführung in Vue Die aktuelle Ära der großen Fro...

border-radius-Methode zum Hinzufügen abgerundeter Ränder zu Elementen

border-radius:10px; /* Alle Ecken sind mit einem ...

Vue2-Implementierungen bieten Injection für Reaktionsfähigkeit

1. Konventionelles Schreiben in vue2 // Die überg...

Verstehen Sie JavaScript-Prototypen und Prototypenketten gründlich

Inhaltsverzeichnis Vorwort Den Grundstein legen P...

Grafisches Tutorial zum Konfigurieren eines Protokollservers unter Linux

Vorwort Dieser Artikel stellt hauptsächlich die r...