ローリング ログ アペンダーと telnet アペンダーを使用するアプリケーションがあります。アプリケーションは、サービスまたはデスクトップ アプリケーションとして実行できます。デスクトップ アプリとして実行すると、ローリング アペンダーと telnet アペンダーの両方が機能し、ポートに telnet で接続して、ログ メッセージが送信されるのを確認できます。アプリをサービスとして実行すると、ローリング ログ アペンダーは機能しますが、telnet アペンダーは機能しません。
netstat -nab を試してみたところ、デスクトップ アプリケーションとして実行するとポートが表示されますが、サービス telnet として実行すると、ポートへの接続に失敗し、サービス exe が netstat からの出力に表示されません。
サービス ログオンを自分のローカル アカウントに変更しようとしてもうまくいかず、Windows ファイアウォールをオフにしようとしました。
以下は私の設定です。誰かがこれに光を当てることができれば、助けていただければ幸いです。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="rfa" type="log4net.Appender.RollingFileAppender">
<param name="File" value="my.log" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Size" />
<param name="MaxSizeRollBackups" value="3" />
<param name="MaximumFileSize" value="10MB" />
<param name="StaticLogFileName" value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-23date{MM/dd/yy HH:mm:ss fff} %-8level %-25logger - %message%newline" />
</layout>
</appender>
<appender name="ta" type="log4net.Appender.TelnetAppender">
<port value="23" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-25date{MM/dd/yy HH:mm:ss fff} %-8level %-25logger - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="rfa" />
<appender-ref ref="ta" />
</root>
</log4net>
</configuration>