Di Mac OS X bagaimana saya bisa masuk ke Console.app dari terminal?

8

Saya telah melihat penggunaan /dev/consoledalam beberapa skrip untuk Mac OSX tapi saya tidak yakin bagaimana ini digunakan. Saya memeriksa Console.app dan tidak melihat hasil dari perintah pengujian saya:

uji gema> / dev / konsol

dicetak di sana, jadi ke mana ia pergi, atau bagaimana Anda menggunakannya?

cwd
sumber
@Qmo Pertanyaan ini 100% valid untuk Pengguna Super dan tidak perlu atau alasan untuk memigrasikannya.
BinaryMisfit
Menjadi valid tidak menyiratkan akan lebih baik dilayani di sana? Mengapa itu dibuat? Pokoknya itu hanya saran ...
Brave Newbie

Jawaban:

7

The /dev/consoleperangkat tidak terutama terkait dengan Konsol aplikasi.

Di Mac OS X 10.6, aplikasi Konsol memiliki dua jenis sumber data yang berbunyi: file log normal (misalnya file dalam /var/log/), dan pesan yang masuk melalui fasilitas syslog (Apple diperluas).

Jika Anda memiliki file log yang ingin Anda pantau, Anda dapat menggunakan item menu File > Open… (⌘O) untuk melihat file di Konsol .
Catatan: Satu-satunya cara untuk menghapus file dari daftar file Konsol tampaknya menggunakan File > Pindah ke item menu Sampah (⌘⌫); bersiaplah untuk mengeluarkan file dari Sampah jika Anda hanya ingin berhenti menontonnya di Konsol .

Anda dapat menggunakan program baris perintah syslog untuk mengirim pesan ke fasilitas syslog.

syslog -s Your message goes here. \(quote special chars for the shell'!)'

Namun, di bawah konfigurasi default, pesan ini tidak akan pernah muncul di tampilan Konsol mana pun karena "level" terlalu rendah untuk dianggap penting. Penyaringan awal ini disebabkan oleh syslogd . Ini dikonfigurasi oleh asl.confdan syslog.conffile. Konfigurasi default tidak menyimpan sebagian besar pesan jika Levelnya terlalu rendah (dan syslog -sdefault ke level terendah). Konsol hanya dapat menampilkan pesan yang telah disimpan oleh syslogd .

Anda dapat mengubah nilai bidang Level dengan menggunakan -lopsi:

syslog -s -l notice This message should show up in \"All Messages\" \
  with a Facility of syslog.

The noticeTingkat adalah (default) unit terkecil yang syslogd akan menyimpan sebagian pesan.

Sebuah pesan yang dihasilkan seperti ini akan muncul di Konsol ‘s built-in‘Semua messsages’database pencarian
(file All Messages.aslquerydalam /Applications/Utilities/Console.app/Contents/Resources/ASLQueries/teknis membatasi ke pesan di mana medan Fasilitas‘berisi’string kosong, tapi kondisi ini sepele dipenuhi oleh Fasilitas apa saja nilai).

Jika Anda ingin pesan Anda muncul di Konsol built-in ‘Pesan Console’ database pencarian, maka Anda harus sedikit lebih spesifik. Itu hanya menampilkan (tersimpan) pesan yang memiliki bidang Fasilitas yang sama dengan com.apple.console(lihat file Console Messages.aslquerydalam /Applications/Utilities/Console.app/Contents/Resources/ASLQueries/). Anda dapat membuat pesan seperti itu dengan syslog dengan -kopsi untuk mengatur bidang Fasilitas.

syslog -s -k Facility com.apple.console \
          -k Level notice \
          -k Message 'This will show up in "Console Messages"'

Saat menggunakan -k, semua opsi dan pesan itu sendiri harus ditentukan dengan set -k key valueargumen (kita tidak dapat menggunakan -luntuk mengatur level). Ini berarti bahwa kita harus menempatkan pesan argumen tunggal sehingga dapat menjadi nilai bidang pesan.

Chris Johnsen
sumber
Jadi untuk apa perintah "logger" digunakan? Apakah itu bagian dari syslog?
cwd
@ cwd: Ini juga menggunakan fasilitas syslog. Apple syslog memiliki dua antarmuka utama: syslog (3) , dan asl (3) . Yang pertama cukup standar pada sebagian besar sistem Unix-y hari ini; logger menggunakannya. Yang terakhir adalah ekstensi khusus Apple; yang syslog perintah menggunakannya. Konsol melihat pesan dari keduanya, tetapi pencarian “Pesan Konsol” membutuhkan nilai Fasilitas yang Diperpanjang dari Apple (yang tidak dapat dibuat oleh penebang ).
Chris Johnsen
7

saya menggunakan:

logger Hello World

selalu bekerja untukku. dumps "hello world" ke syslog, yang seharusnya muncul di console.app

pengupas
sumber
0

Saya tidak positif, tetapi mungkin perangkat yang dipanggil saat> konsol dimasukkan di bidang nama pengguna pada jendela masuk. Ketika Anda memasukkan di atas, Anda akan dikenai CLI.

iklier
sumber
0

Anda dapat menulis ke file pilihan Anda yang kemudian dapat Anda lihat di aplikasi Konsol.

Jika Anda ingin masuk untuk penggunaan tingkat pengguna:

echo "test" > /Users/$USER/Library/Logs/your_script.log

atau untuk sesuatu yang dimuat untuk semua pengguna:

echo "test" > /Library/Logs/your_script.log
ridogi
sumber