Trong c chúng ta đăng nhập theo cách này:Cách kiểm tra nhật ký hệ thống trong bash?
syslog(LOG_INFO, "proxying %s", url);
Trong linux như thế nào chúng ta có thể kiểm tra bản ghi?
Trong c chúng ta đăng nhập theo cách này:Cách kiểm tra nhật ký hệ thống trong bash?
syslog(LOG_INFO, "proxying %s", url);
Trong linux như thế nào chúng ta có thể kiểm tra bản ghi?
Trên Fedora 19, có vẻ như câu trả lời là /var/log/messages
. Mặc dù kiểm tra /etc/rsyslog.conf
nếu nó đã được thay đổi.
tail -f /var/log/syslog | grep process_name
nơi process_name
là tên của quá trình chúng ta quan tâm
Theo mặc định nó đã đăng nhập vào bản ghi hệ thống tại /var/log/syslog
, vì vậy nó có thể được đọc bởi:
tail -f /var/log/syslog
Nếu file doesn 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 các tập tin cấu hình có thể khác nhau, vì vậy kiểm tra các tiến trình đang chạy nếu nó sử dụng tập tin khác nhau:
# ps wuax | grep syslog
root /sbin/syslogd -f /etc/syslog-knoppix.conf
Lưu ý: Trong một số phân phối (như Knoppix) tất cả các đăng nhập thông điệp có thể được gửi vào thiết bị đầu cuối khác nhau (ví dụ như /dev/tty12
), để truy cập ví dụ tty12
thử nhấn Điều khiển + Alt + F12.
Bạn cũng có thể sử dụng công cụ lsof
để tìm ra tệp nhật ký nào mà quá trình syslogd
đang sử dụng, ví dụ:
sudo lsof -p $(pgrep syslog) | grep log$
Để gửi thông điệp thử nghiệm để syslogd trong vỏ, bạn có thể thử:
echo test | logger
Đối xử lý sự cố sử dụng một công cụ theo dõi (strace
trên Linux, dtruss
trên Unix), ví dụ:
sudo strace -fp $(cat /var/run/syslogd.pid)
trên bộ định tuyến Asus, có thể thực hiện qua
:/bin# busybox
cũng có các lệnh khác liên quan đến.
'less/var/log/syslog'? – NPE
Chức năng 'syslog' * có ghi * vào nhật ký hệ thống không? (Trừ khi bạn đang nói về cấp thấp hơn để truy cập bộ đệm vòng thông điệp hạt nhân, nhưng tôi nghi ngờ 'url' là' int'.) – Cascabel
, Q này nên được di chuyển sang unix.SE.com, không chắc chắn đáng để đánh dấu sự chú ý của mod (tôi đã gắn cờ). –