1つのサーバーと多数のクライアントアプリケーションがあり、どこでもNLogが使用されています。目的は、クライアントからログをほぼ完全に削除し、クライアントからサーバーに直接ログを送信することです。それはWCF、ILogReceiverServer
およびLogReceiverService
ターゲット(thereと書かれている)を使って成功裏に完了しました。WCF経由でNLogログをサーバーに送信
しかし、サーバーとクライアントのアプリケーション間の接続が失われる可能性があるため、クライアント側のファイルにError
メッセージを書き込む必要があります。そして、接続が失われたときにのみ書き込まれるべきです。 私はNLogのドキュメントを学んだことがあります。ログが正常に送信されたかどうかを確認できますか?または、ログの送信結果に基づいてlogger
を有効/無効にするにはどうすればよいですか?
クライアントの設定:
<nlog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target name="file" xsi:type="File" ... />
<target name="console" xsi:type="Console" ... />
<target xsi:type="LogReceiverService"
name="RemoteWcfLogger"
endpointConfigurationName="NetTcpBinding_ILogReceiverServer"
endpointAddress="net.tcp://address:port/LogReceiverServer"
useBinaryEncoding="True"
clientId=""
includeEventProperties="True">
</target>
</targets>
<rules>
<logger name="*" minLevel="Trace" writeTo="RemoteWcfLogger"/>
<logger name="*" minLevel="Error" writeTo="file" />
<logger name="*" minLevel="Trace" writeTo="console" />
</rules>
</nlog>
私はそれを逃したように見えます、まさに私が欲しいものです。それはまた、カスタム条件を通して行うこともできます。 – Anton