Trong C, chúng tôi đăng nhập theo cách này:
syslog( LOG_INFO, "proxying %s", url );
Trong Linux, chúng ta có thể kiểm tra nhật ký bằng cách nào?
Trong C, chúng tôi đăng nhập theo cách này:
syslog( LOG_INFO, "proxying %s", url );
Trong Linux, chúng ta có thể kiểm tra nhật ký bằng cách nào?
Câu trả lời:
Làm thế nào về less /var/log/syslog
?
/etc/syslog.conf
tail -f /var/log/syslog
thực sự rất hay vì nó hiển thị kết quả đầu ra gần đây nhất khi nó đi vào nhật ký hệ thống. Nó có thể hữu ích nếu bạn đang cố gắng khắc phục sự cố một điều gì đó đang phát trực tiếp, thay vì xem xét điều gì đó nghiêm trọng trong quá khứ.
Trên Fedora 19, có vẻ như câu trả lời là /var/log/messages
. Mặc dù hãy kiểm tra /etc/rsyslog.conf
xem nó đã được thay đổi chưa.
Theo mặc định, nó được đăng nhập vào nhật ký hệ thống tại /var/log/syslog
, vì vậy nó có thể được đọc bằng cách:
tail -f /var/log/syslog
Nếu tệp không tồn tại, hãy kiểm tra /etc/syslog.conf
để xem tệp cấu hình cho syslogd. Lưu ý rằng tệp cấu hình có thể khác, vì vậy hãy kiểm tra quá trình đang chạy nếu nó đang sử dụng tệp khác:
# ps wuax | grep syslog
root /sbin/syslogd -f /etc/syslog-knoppix.conf
Lưu ý: Trong một số bản phân phối (chẳng hạn như Knoppix), tất cả các tin nhắn đã ghi có thể được gửi đến thiết bị đầu cuối khác (ví dụ /dev/tty12
), vì vậy để truy cập, ví dụ: tty12
hãy thử nhấn Control+ Alt+ F12.
Bạn cũng có thể sử dụng lsof
công cụ để tìm ra tệp nhật ký mà syslogd
quá trình đang sử dụng, ví dụ:
sudo lsof -p $(pgrep syslog) | grep log$
Để gửi thông báo thử nghiệm tới syslogd trong shell, bạn có thể thử:
echo test | logger
Để khắc phục sự cố, hãy sử dụng công cụ theo dõi ( strace
trên Linux, dtruss
trên Unix), ví dụ:
sudo strace -fp $(cat /var/run/syslogd.pid)
Nếu bạn thích Vim, nó có tích hợp đánh dấu cú pháp cho tệp nhật ký hệ thống, ví dụ: nó sẽ đánh dấu các thông báo lỗi bằng màu đỏ.
vi +'syntax on' /var/log/syslog
trên bộ định tuyến Asus, nó có thể được thực hiện thông qua
:/bin# busybox
cũng có các lệnh khác liên quan đến.
syslog
ghi vào nhật ký hệ thống? (Trừ khi bạn đang nói về cấp thấp hơn để truy cập bộ đệm vòng thông báo hạt nhân, nhưng tôi nghi ngờurl
là mộtint
.)