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

So definieren Sie Datenbeispiele in Vue

Vorwort Im Entwicklungsprozess ist das Definieren...

MySQL-Deduplizierungsmethoden

MySQL-Deduplizierungsmethoden 【Anfänger】 Es gibt ...

Lösung zum Einfügen eines Formulars mit einer Leerzeile oben und unten

Ich weiß nicht, ob Ihnen beim Erstellen einer Webs...

So verwenden Sie Übersetzung und Übergang in CSS3

Ich habe immer das Gefühl, dass Übersetzen und Üb...

MySQL-Initialisierungskennwortvorgang unter Mac

Eine einfache Aufzeichnung der Datenbank-Startpro...

So stellen Sie Daten mit Binlog in MySQL 5.7 wieder her

Schritt 1: Stellen Sie sicher, dass MySQL Binlog ...

Sollten nullbare Felder in MySQL auf NULL oder NOT NULL gesetzt werden?

Personen, die MySQL häufig verwenden, können mit ...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.20 (Win10)

In diesem Artikel wird die Installations- und Kon...

Einführung mehrerer benutzerdefinierter Schriftarten in CSS3

Heute habe ich ein Problem in HTML gefunden. Es s...

MySql-Gruppierung und zufälliges Abrufen eines Datenelements aus jeder Gruppe

Idee: Einfach erst zufällig sortieren und dann gr...

So löschen Sie eine MySQL-Tabelle

Das Löschen einer Tabelle in MySQL ist sehr einfa...