私のMacでsystem.logに従っています。
tail -f -n 0 /var/log/system.log
しかし、そのログに書き込む方法がわかりません。マシンの基本ログインのようです。私は試した:
logger foobar # didn't work
syslog -s -l error "message to send" # didn't work
Macでsystem.logに書き込む方法を知っている人はいますか?
修正する:
私が実行した場合:log stream
次に、次を使用します。
logger -is -t krypted "Hello L"
ストリームには表示されますが/var/log/system.log
。
答え1
ストリーミングメッセージはバイナリログファイルの一部です。 Appleは統合ロギングシステムに切り替えているため、少なくともデフォルトではロギングはもはや同じようには機能しません。syslogd
設定ファイルのいずれかまたは両方を介してApple System Logger(ASL)を設定しようとすること/etc/syslog.conf
もできます/etc/asl.conf
。 (にASL設定ファイルが保存されています/etc/asl
。)作成方法については、マニュアルページを参照する必要があります。特定のメッセージのプレーンテキストログファイル。これらの説明書の中には、、、、、、、、、、、、、、man 1 log
またはman 1 syslog
、 がありますman 5 syslog.conf
。man 8 syslog
まだこれを行う方法を正確に理解していませんが、カスタムメッセージを生成して表示して「追跡」する方法をいくつか提供したいと思います。 (新しいロギングシステムを設定して特定のメッセージをプレーンテキストファイルに送信する方法を学んだら、戻ってこの回答を更新します。できるプレーンテキストファイルがに存在するために完了しました/var/log
。 )
メッセージを使用しsyslog -s
て送信できますlogger
。 (この-s
オプションはログメッセージを送信しsyslogd
、syslog
より多くの操作を実行できますlogger
。)同様の方法でログを追跡する簡単な方法tail
は、利用することですConsole.app
。プログラムを開き、以下にリストされているローカルコンピュータにカーソルを置きます。装備。検索フィールドにメッセージを送信するために使用されたプログラム名syslog
またはそのいずれかを入力しますlogger
。次に端末を開き、メッセージを送信します。
syslog -s "test message"
これにより、次のようにメッセージがコンソールに表示されます。
メッセージはログから取得できます。デフォルトで無視される行を指定するには、および--info
/またはオプションを使用します。オプションでsyslogメッセージを送信するプロセスを指定します。--debug
log
--predicate
log show --info --debug --predicate "process == 'logger'"
または
log show --info --debug --predicate "process == 'syslog'"
と同様の効果を得るには、tail
このstream
コマンドを使用します。
log stream --info --debug --predicate "process == 'logger'"
または
log stream --info --debug --predicate "process == 'syslog'"
tail
フローを開始した後、図に示すように動作するようにメッセージを送信します。
このコマンドはsyslog -s "test message"
メッセージを送信するために使用されます。