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 implementieren Sie verteilte Transaktionen in MySQL XA

Inhaltsverzeichnis Vorwort XA-Protokoll So implem...

MySql schnelles Einfügen von zig Millionen großen Datenbeispielen

Im Bereich der Datenanalyse sind Datenbanken unse...

Detaillierte Analyse des React Diff-Prinzips

Inhaltsverzeichnis Diffing-Algorithmus Schicht-fü...

Eine einfache Methode zum regelmäßigen Löschen abgelaufener Datensätze in MySQL

1. Überprüfen Sie nach der Verbindung und Anmeldu...

Detaillierte Erklärung zum Ein- und Aussteigen aus dem Docker-Container

1 Starten Sie den Docker-Dienst Zuerst müssen Sie...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.12

Notieren Sie die Installations- und Konfiguration...

Tutorial zum Bereitstellen von JDK und Tomcat auf CentOS7 ohne Schnittstelle

1. Installieren Sie xshell6 2. Stellen Sie eine S...

Führen Sie die Schritte zur Installation von FFmpeg auf dem CentOS-Server aus

Vorwort Die Serversystemumgebung ist: CentOS 6.5 ...

So lassen Sie eine Remoteverbindung in MySql zu

So lassen Sie eine Remoteverbindung in MySql zu U...

So fügen Sie einen Docker-Port hinzu und erhalten eine Docker-Datei

Holen Sie sich das Dockerfile aus dem Docker-Imag...

Freundliche Alternativen zum Find Tool in Linux

Mit dem Befehl „Find“ können Sie in einem angegeb...

Detailliertes Beispiel für die Datenmigration bei einem IOS-Datenbank-Upgrade

Detailliertes Beispiel für die Datenmigration bei...

So löschen Sie schwebenden Beispielcode in CSS

Überblick Das Rahmendiagramm dieses Artikels ist ...