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

Vue.js implementiert Kalenderfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Erläuterung des MySQL-Multitabellen-Join-Abfragebeispiels

In tatsächlichen Projekten gibt es Beziehungen zw...

Verstehen Sie die Implementierung des Nginx-Standortabgleichs in einem Artikel

Da das Team Front-End und Back-End trennt, überni...

Perfekte Lösung für das Problem des CSS-Hintergrundbildpfads im Webpack

Innerhalb des Style-Tags der Vue-Komponente befin...

So setzen Sie das Zabbix-Passwort zurück (ein Schritt)

Problembeschreibung Da wir uns nicht lange bei Za...

Regenbogen-Button-Stil erstellt mit CSS3

Ergebnis: Implementierungscode: html <div Klas...

Detaillierte Erklärung verschiedener HTTP-Rückgabestatuscodes

Wenn an Ihren Server eine Anforderung zum Anzeige...

Centos7.5 Konfiguration Java-Umgebung Installation Tomcat Erklärung

Tomcat ist eine auf Java basierende Webserversoft...

Lösung für die Willkommensmeldung im Notfallmodus beim Booten von CentOS7.4

Heute habe ich eine virtuelle Maschine für ein Ex...

Verständnis von Haslaylout- und BFC-Parsing

1. haslayout und bfc sind IE-spezifische und Stand...