Saya mencoba mencatat peristiwa / check-point dari shell-script saya menggunakan logger
.
Cara menggunakan logger
atau syslog
utilitas dalam OS X (versi 10.12 (16A323)) . saya telah mencoba
logger "Hello world"
dan diperiksa /var/log/system.log
menggunakan aplikasi Konsol, berikut ini adalah entri log yang dibuat
Gagal memanen string untuk biner bernama '–Xó ^ H'
Bagaimana cara menggunakan logger
OS X? Apakah ada sesuatu yang ditentukan untuk membuat / menambahkan entri ke log sistem OS X?
Hello World
dalam/var/log/*.log
file apa pun . Perilaku @SG_ melihat, dapat direproduksi pada Mac saya yang menjalankan macOS 10.12. Selain itu,logger -s 'Hello World'
tidak mencetak dengan benar ke konsol tetapi tidak ke file log pada disk.Jawaban:
Karena sistem logging Apple berubah dalam macOS sierra. Mereka pindah dari fasilitas Log Sistem Apple ke logging bersatu.
Berikut tautan ke dokumentasi pengembang.
Berikut ini filter log terpadu baru untuk teks "Message4me"
=======
Jika Anda menambahkan - info Anda akan melihat pesan acara itu sendiri di output juga.
Pada versi OS sebelumnya, perintah logger akan mengirim ke file /var/log/system.log jika prioritasnya cukup tinggi (misalnya menggunakan tanda -p) serta ke database syslog. Di Sierra system.log tidak ditulis ketika logger digunakan dengan -p peringatan -tidak di 10.12.1. Ini bisa jadi bug.
Anda masih dapat menggunakan logger untuk mengirim ke sistem logging baru, tetapi harus menggunakan aplikasi Konsol atau utilitas log log atau API baru untuk melihat hasilnya.
sumber
Saya memecahkan masalah ini dengan memiliki skrip yang menggunakan netcat untuk mengirim log tertentu setiap 10 menit dari launchdaemon. Edit sesuai kebutuhan.
sumber
Ini bukan jawaban nyata tetapi solusi dan terlalu lama untuk komentar.
Saya menghadapi masalah yang sama di Sierra mencoba untuk login skrip shell pembaruan homebrew termasuk perintah logger (yang bekerja di El Capitan). Saya harus meninggalkan logger dan hanya menggunakan gema, pengalihan output dan file log baru:
sumber