Mengapa syslog tidak masuk ke tempat saya menyuruhnya login?


4

Saya telah mengkonfigurasi syslogd seperti:

*.debug /var/log/messages

Saya ingin semuanya masuk /var/log/messages.

Ketika saya berlari

syslog -s hello

Saya mendapatkan pesan muncul di /var/log/message.

Saya mencoba memulai kembali menggunakan syslog

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

untuk memeriksa apakah syslog tidak berjalan, maka

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

untuk memulai kembali.

Saya memeriksa /etc/syslog.confuntuk memastikan itu tidak berubah, dan tidak. Tetap saya mendapatkan pesan yang masuk /var/log/message.

Apakah ada tempat lain untuk mengatur ini?


/etc/asl.confjuga digunakan untuk mengkonfigurasi syslogd , tetapi file penyimpanan yang ditentukan bukan file log “teks biasa” yang normal. Apakah Anda mungkin memiliki karakter NUL tertanam sebelum yang terakhir sdi syslog.confbaris Anda ? Saya tidak bisa membayangkan bagaimana itu akan terjadi "secara alami", tetapi saya dapat mereproduksi sesuatu yang mirip dengan garis *.* /tmp/message<00>s(di mana <00>sebenarnya adalah karakter NUL tunggal, bukan empat literal yang ditampilkan).
Chris Johnsen

Terima kasih, saya tidak menyadarinya asl.conf. Masalah sebenarnya adalah baris baru, jadi Anda sudah dekat.
user6385

@ user6385 Diagnosis yang baik. Ya, sekarang setelah Anda menunjukkannya, mudah untuk menemukan bug no-final-newline get_line_from_filedi syslogd.tproj / daemon.c .
Chris Johnsen

Jawaban:


3

Saya dapat mengkonfirmasi hal-hal berikut ini berfungsi pada Mac saya yang menjalankan 10.6.7:

Saya menambahkan baris berikut ke /etc/syslog.conf (di mana <tab>karakter tab):

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

Saya HUP menggunakan proses syslogd sudo kill -HUP <syslogd pid>.

Dan mengujinya dengan logger -p debug test_msgdan syslog -s hello.

syslog membuat / var / log / messages saat saya menggunakan perintah logger dan syslog.

Halaman manual untuk syslog.conf (5) menentukan penggunaan tab di antara bidang. Namun, saya mencoba menggunakan satu ruang saja dan itu berhasil juga. Berdasarkan halaman manual untuk syslog dan syslogd, /etc/syslog.conf tampaknya merupakan satu-satunya file konfigurasi yang perlu Anda khawatirkan.


1

Terima kasih. Setelah menggunakan viuntuk membuat file alih-alih skrip python, saya perhatikan bahwa itu logging seperti yang diharapkan. Saya melakukan salah diffsatu file dan melihat satu memiliki baris baru sedangkan yang lain tidak. Apel harus menghapus karakter terakhir dari file mengharapkan untuk menjadi baris baru, yang mengapa tanpa baris baru itu login ke /var/log/messagebukannya /var/log/messages. Saya telah memperbaiki skrip python. Catatan Anda tentang tab membuat saya mencoba diffdi file, jadi terima kasih!


Ini bukan jawaban, ini adalah upaya untuk mengomentari jawaban sebelumnya. Silakan gunakan komentar untuk menjawab atau mengajukan pertanyaan lebih lanjut. Jawaban untuk solusi atas pertanyaan. Jika level pengguna Anda terlalu rendah, menyelesaikan tutorial akan memberi Anda hak yang cukup.
Greg

@ Greg, saya pikir kita harus hidup dengan pengguna baru yang mencoba membantu. Itu menambahkan beberapa pemikiran dan saya akan memberikan tanda centang yang dipecahkan ke che2cbs, tapi saya senang bahwa tanda centang yang dipecahkan membuat siapa pun tahu bahwa OP senang dengan pengetahuan yang mereka miliki.
bmike
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.