Tại sao syslog không đăng nhập nơi tôi bảo nó đăng nhập?


4

Tôi đã cấu hình syslogd như vậy:

*.debug /var/log/messages

Tôi muốn mọi thứ đăng nhập khá nhiều /var/log/messages.

Khi tôi chạy

syslog -s hello

Tôi nhận được tin nhắn hiển thị trong /var/log/message.

Tôi đã thử khởi động lại syslog bằng

launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist
ps -x | grep [s]yslog

để kiểm tra syslog không chạy, sau đó

launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist

khởi động lại.

Tôi đã kiểm tra /etc/syslog.conf để đảm bảo nó không thay đổi, và nó không. Tôi vẫn nhận được tin nhắn đăng nhập vào /var/log/message.

Có một nơi khác để thiết lập điều này?


/etc/asl.conf cũng được sử dụng để cấu hình nhật ký hệ thống , nhưng các tệp lưu trữ mà nó chỉ định không phải là các tệp nhật ký văn bản đơn giản của văn bản đơn giản. Bạn có thể có một ký tự NUL nhúng trước cuối cùng không s trong bạn syslog.conf hàng? Tôi có thể thực sự tưởng tượng điều đó sẽ xảy ra như thế nào *.* /tmp/message<00>s (nơi <00> thực sự là một ký tự NUL duy nhất thay vì bốn ký tự được hiển thị).
Chris Johnsen

Cảm ơn, tôi không biết asl.conf. Vấn đề thực tế là một dòng mới, vì vậy bạn đã gần gũi.
user6385

@ user6385 Chẩn đoán tốt. Vâng, bây giờ bạn chỉ ra nó, thật dễ dàng để phát hiện ra lỗi không có dòng cuối cùng trong get_line_from_file trong syslogd.tproj / daemon.c .
Chris Johnsen

Câu trả lời:


3

Tôi có thể xác nhận những điều sau đã hoạt động trên máy Mac của mình chạy 10.6.7:

Tôi đã thêm dòng sau vào /etc/syslog.conf (trong đó <tab> là một ký tự tab):

*.debug<tab>/var/log/messages

Tôi đã quá trình syslogd bằng cách sử dụng sudo kill -HUP <syslogd pid>.

Và đã thử nó với logger -p debug test_msgsyslog -s hello.

syslog được tạo / var / log / message khi tôi sử dụng các lệnh logger và syslog.

Trang man cho syslog.conf (5) chỉ định việc sử dụng các tab giữa các trường. Tuy nhiên, tôi đã thử sử dụng một không gian duy nhất thay thế và điều đó cũng hoạt động. Dựa trên các trang man cho syslog và syslogd, /etc/syslog.conf dường như là tệp cấu hình duy nhất bạn cần lo lắng.


1

Cảm ơn. Sau khi sử dụng vi để tạo tập tin thay vì tập lệnh python, tôi nhận thấy rằng nó đang ghi nhật ký như mong đợi. Tôi đã làm một diff trong số các tệp và nhận thấy một tệp có dòng mới trong khi tệp kia thì không. Apple phải xóa ký tự cuối cùng của tệp để mong nó là một dòng mới, đó là lý do tại sao không có dòng mới mà nó đã đăng nhập /var/log/message thay vì /var/log/messages. Tôi đã sửa tập lệnh python. Lưu ý của bạn về tab khiến tôi thử diff trên hồ sơ, cảm ơn!


Đây không phải là một câu trả lời, đó là một nỗ lực để bình luận về một câu trả lời trước đó. Vui lòng sử dụng ý kiến ​​để trả lời hoặc đặt câu hỏi thêm. Câu trả lời là cho các giải pháp cho câu hỏi. Nếu cấp độ người dùng của bạn quá thấp, việc hoàn thành các hướng dẫn sẽ cung cấp cho bạn đủ các đặc quyền.
Greg

@Greg Tôi nghĩ rằng chúng tôi sẽ phải sống với một người dùng mới đang cố gắng giúp đỡ. Nó có thêm một số suy nghĩ và tôi đã đưa ra dấu kiểm đã giải quyết cho che2cbs, nhưng tôi rất vui vì dấu kiểm đã được giải cho phép mọi người biết rằng OP hài lòng với kiến ​​thức họ có.
bmike
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.