Ich habe eine einfache Testanwendung geschrieben, um etwas in einer Protokolldatei zu protokollieren. ich benutze Linux-Minze und nachdem die Anwendung ausgeführt wurde, versuche ich, das Protokoll mit diesem Befehl anzuzeigen:
tail -n 100 /var/log/messages
aber die datei messages existiert weder getestet noch so. Unten findet ihr meinen Code. Vielleicht mache ich etwas falsch, die Datei ist dort nicht gespeichert oder ich muss die Anmeldung in Linux Mint aktivieren.
Dies hängt vom verwendeten Systemlogger ab. Es sollte irgendwo eine Konfigurationsdatei enthalten sein /etc/ die Sie für Ihre Kennung ändern müssen ("test" in Ihrem Fall) und Einrichtung.
– Irgendein Programmierer-Typ
11. Juni 2012 um 11:59 Uhr
DieBaumwolleSeide
Auf meinem Ubuntu-Rechner kann ich die Ausgabe unter sehen /var/log/syslog.
Auf einem RHEL/CentOS-Computer befindet sich die Ausgabe in /var/log/messages.
Gesteuert wird dies durch die rsyslog Wenn dieser aus irgendeinem Grund deaktiviert ist, müssen Sie ihn möglicherweise mit starten systemctl start rsyslog.
Wie von anderen angemerkt, Ihre syslog() Ausgabe würde von der protokolliert werden /var/log/syslog Datei.
Sie können System-, Benutzer- und andere Protokolle unter einsehen /var/log.
Es scheint nicht so /var/log/syslog ist jede Art von wahrer Vorgabe; vielleicht konfiguriert Ubuntu das selbst.
– kevr
24. Juli 2018 um 0:55 Uhr
Rob Kielty
Zusätzlich zur akzeptierten Antwort ist es nützlich, Folgendes zu wissen …
Jede dieser Funktionen sollte haben Handbuchseiten mit ihnen verbunden.
Wenn du läufst man -k syslog (eine Schlüsselwortsuche in Manpages) erhalten Sie eine Liste von Manpages, auf die verwiesen wird oder über die es geht Syslog
$ man -k syslog
logger (1) - a shell command interface to the syslog(3) system l...
rsyslog.conf (5) - rsyslogd(8) configuration file
rsyslogd (8) - reliable and extended syslogd
syslog (2) - read and/or clear kernel message ring buffer; set c...
syslog (3) - send messages to the system logger
vsyslog (3) - send messages to the system logger
Sie müssen die Abschnitte des Handbuchs verstehen, um sich weiter vertiefen zu können.
Hier ist ein Auszug aus der Manpage für man, der Manpage-Abschnitte erklärt:
The table below shows the section numbers of the manual followed by
the types of pages they contain.
1 Executable programs or shell commands
2 System calls (functions provided by the kernel)
3 Library calls (functions within program libraries)
4 Special files (usually found in /dev)
5 File formats and conventions eg /etc/passwd
6 Games
7 Miscellaneous (including macro packages and conven‐
tions), e.g. man(7), groff(7)
8 System administration commands (usually only for root)
9 Kernel routines [Non standard]
Um den obigen Lauf zu lesen
$man man
Also, wenn Sie laufen man 3 syslog Sie erhalten eine vollständige Handbuchseite für die syslog Funktion, die Sie in Ihrem Code aufgerufen haben.
SYSLOG(3) Linux Programmer's Manual SYSLOG(3)
NAME
closelog, openlog, syslog, vsyslog - send messages to the system
logger
SYNOPSIS
#include <syslog.h>
void openlog(const char *ident, int option, int facility);
void syslog(int priority, const char *format, ...);
void closelog(void);
#include <stdarg.h>
void vsyslog(int priority, const char *format, va_list ap);
Keine direkte Antwort, aber hoffentlich finden Sie das nützlich.
sh: man: Befehl nicht gefunden
– Philipp Rego
17. Februar um 22:27 Uhr
rkosegi
Standardspeicherort für Protokolle (rhel) sind
Allgemeine Meldungen:
/var/log/messages
Authentifizierungsmeldungen:
/var/log/secure
E-Mail-Ereignisse:
/var/log/maillog
Überprüfe dein /etc/syslog.conf oder /etc/syslog-ng.conf (es hängt davon ab, welche Syslog-Funktion Sie installiert haben)
Beispiel:
$ cat /etc/syslog.conf
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none /var/log/messages
# The authpriv file has restricted access.
authpriv.* /var/log/secure
# Log all the mail messages in one place.
mail.* /var/log/maillog
#For a start, use this simplified approach.
*.* /var/log/messages
David nahm
Sie müssen dem System mitteilen, welche Informationen protokolliert werden sollen und wo die Informationen abgelegt werden sollen. Die Protokollierung wird in konfiguriert /etc/rsyslog.conf Datei, und starten Sie dann rsyslog neu, um die neue Konfiguration zu laden. Die Standardprotokollierungsregeln befinden sich normalerweise in a /etc/rsyslog.d/50-default.conf Datei.
syslog() generiert eine Protokollnachricht, die von syslogd verteilt wird.
Die Datei zum Konfigurieren von syslogd ist /etc/syslog.conf. Diese Datei teilt Ihnen mit, wo die Nachrichten protokolliert werden.
Was ist, wenn meine /etc/syslog.conf nur Kommentare enthält? Gibt es einen Standardspeicherort für die Protokolle?
– Elieser Miron
17. Februar 2021 um 22:55 Uhr
Link ist kaputt…
– Daniel Griscom
30. September 2021 um 14:19 Uhr
Die Protokollierung ist in Linux sehr konfigurierbar, und Sie möchten vielleicht einen Blick in Ihre /etc/syslog.conf (oder vielleicht unter /etc/rsyslog.d/). Einzelheiten hängen vom Protokollierungssubsystem und der Verteilung ab.
Schauen Sie auch in die Dateien unter /var/log/ (und vielleicht laufen dmesg für Kernel-Logs).
Was ist, wenn meine /etc/syslog.conf nur Kommentare enthält? Gibt es einen Standardspeicherort für die Protokolle?
– Elieser Miron
17. Februar 2021 um 22:55 Uhr
Link ist kaputt…
– Daniel Griscom
30. September 2021 um 14:19 Uhr
Regen
Ich verwende Ubuntu unter WSL (Windows Subsystem for Linux) und systemctl start rsyslog hat bei mir nicht funktioniert.
Also was ich gemacht habe ist folgendes:
$ service rsyslog start
Jetzt syslog Datei erscheint unter /var/log/
14198200cookie-checkWo speichert Linux mein Syslog?yes
Dies hängt vom verwendeten Systemlogger ab. Es sollte irgendwo eine Konfigurationsdatei enthalten sein
/etc/
die Sie für Ihre Kennung ändern müssen ("test"
in Ihrem Fall) und Einrichtung.– Irgendein Programmierer-Typ
11. Juni 2012 um 11:59 Uhr