私は、デバイスの起動時にシステムがログファイルの追跡を開始し、そのデータをsyslogに送信できるかどうか疑問に思いました。
議論のために、プログラムが標準出力の代わりにプレーンテキストファイルに書き込むと仮定する。たとえば、必要な場合は、Minecraftサーバーになります。
わかりましたsystemd-cat
。しかし、これは単なるサードパーティのアプリであり、logger
ユニットシステムとは何の関係もありません。
答え1
サービス単位ファイルでこれを試すことができます。
ExecStartPost=/bin/sh -c 'tail -f /path/to/log | systemd-cat'
tail
ログファイルがローテーションされると、サービスが再起動されるまでファイルディスクリプタは必ず再接続する必要がないため、STDOUTに推奨されるロギングモードよりも脆弱です。
私の知る限り、ログファイルを追跡する組み込み機能はありません。これはrsyslog
他のロギングシステムが実行できる操作です。