Konfigurieren von syslog so, dass eine Anwendungen anmelden geht um eine bestimmte Datei
Ich habe eine Anwendung myapp
sollte log-Dateien senden nur zu /var/log/myapp.log
. myapp
ist in C++ geschrieben. Der folgende Beispiel-code, sendet die Protokolle in /var/log/syslog nur. Mein Betriebssystem ist Linux - Ubuntu-12.04 - um genau zu sein. Ich fand auch, dass meine Maschine hat rsyslog als syslog installiert.
#include <stdio.h>
#include <unistd.h>
#include <syslog.h>
int main(void) {
openlog("myapp", LOG_PID|LOG_CONS, LOG_USER);
syslog(LOG_INFO, "abc 10");
closelog();
return 0;
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Entsprechend der syslog(3) - Handbuchseite, die ersten parameter für openlog() setzt den Präfix für die log-Meldungen, keine mit dem Namen.
Sie können eine Anlage wie LOG_LOCAL0 Kennzeichnen, die Ihren Ausgang und dann konfigurieren Sie syslogd mithilfe von /etc/syslog.conf senden diese Protokolle, um die Datei von Ihrem Wunsch.