スプレッドは法案に合うでしょう。これはロギング サービスではありませんが、多くのプロジェクトで分散ロギングに使用されています (Apache Web サーバーのmod_log_spreadモジュールなど)。ここで利用可能なC# 用のクライアントがあります。
その価値は単純な原則の中にあります。つまり、ログを生成するアプリケーションは、ログを記録する行為自体によって制約されたり中断されたりしてはなりません。ロギングは通常、アプリケーションの二次的な問題であり、ログ ファイルの宛先ディスクがいっぱいになる (またはログ サービスがクラッシュする) ことは、アプリケーションが失敗する非常に悪い理由です。
このレベルの分離に到達するには、ロギング「サービス」とは独立して完全に非同期でロギングできるようにアプリケーションを構築する必要があります。Spread は、よく理解され確立された技術である UDP/マルチキャストを使用してこれを実現します。
Spread でログを記録するということは、アプリケーションが UDP を介して「ファイア アンド フォーゲット」モードでログを記録することを意味します。これらのマルチキャスト メッセージを消費するように Spread デーモンが設定されていない場合、ログ メッセージは永久に消えます。ただし、ログ プロデューサーとコンシューマーが切り離されているということは、アプリケーションが、ログがディスクをいっぱいにすることを心配する必要がなく、TCP を使用して中央ログ サーバーを見つけて接続することに時間を費やすことを心配する必要がないことを意味します。
ただし、スプレッドはすべてのアプリケーションに適しているわけではありません。あなたの環境はマルチキャストをサポートしていないかもしれません (そのため EC2 は手始めに)、またはネットワーク管理者が実稼働環境内でマルチキャスト パケットを防止している可能性があります。