Macで/var/log/system.logに書き込む方法

Macで/var/log/system.logに書き込む方法

私の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.confman 8 syslogまだこれを行う方法を正確に理解していませんが、カスタムメッセージを生成して表示して「追跡」する方法をいくつか提供したいと思います。 (新しいロギングシステムを設定して特定のメッセージをプレーンテキストファイルに送信する方法を学んだら、戻ってこの回答を更新します。できるプレーンテキストファイルがに存在するために完了しました/var/log。 )


メッセージを使用しsyslog -sて送信できますlogger。 (この-sオプションはログメッセージを送信しsyslogdsyslogより多くの操作を実行できますlogger。)同様の方法でログを追跡する簡単な方法tailは、利用することですConsole.app。プログラムを開き、以下にリストされているローカルコンピュータにカーソルを置きます。装備。検索フィールドにメッセージを送信するために使用されたプログラム名syslogまたはそのいずれかを入力しますlogger。次に端末を開き、メッセージを送信します。

syslog -s "test message"

これにより、次のようにメッセージがコンソールに表示されます。

Appleコンソールのスニペット

メッセージはログから取得できます。デフォルトで無視される行を指定するには、および--info/またはオプションを使用します。オプションでsyslogメッセージを送信するプロセスを指定します。--debuglog--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フローを開始した後、図に示すように動作するようにメッセージを送信します。

Apple ログコマンドフロー

このコマンドはsyslog -s "test message"メッセージを送信するために使用されます。

おすすめ記事