2011-05-20 38 views
40

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?

+3

'less/var/log/syslog'? – NPE

+0

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

+1

, 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ờ). –

Trả lời

68

Làm thế nào về less /var/log/syslog?

+17

'/ var/log/syslog' không tồn tại ... – kern

+1

@kern: Bản phân phối và phiên bản Linux nào bạn đang sử dụng? – NPE

+4

@kern: Kiểm tra nội dung của '/ etc/syslog.conf' – NPE

31

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.

11

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

9

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) 
0

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.

Các vấn đề liên quan