「NT AUTHORITY\NETWORK SERVICE」資格情報を使用して Windows サービスを開始すると、NLog で奇妙な問題が発生します。ファイル名にドットが含まれていると、ファイル ターゲットに何も記録されません。
.NET Framework 3.5 SP1 機能が有効になっている WinServer 2008 R2 Standard で Windows サービスを実行しています。NLog.config は次のとおりです。
<targets>
<target xsi:type="File"
name="f"
fileName="${basedir}/logs/${shortdate}.txt"
encoding="utf-8"
concurrentWrites="true"
keepFileOpen="false"
layout="${longdate} ${uppercase:${level}} ${message}"/>
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="f" />
</rules>
いくつかのグーグル検索と構成の実験の後、パラメーターにファイル拡張子を含めないことで回避策を思いつきましたfileName
。それは問題を解決しますが、まともな解決策のようには見えません。
そして、この問題が奇妙な魔法のように見えるのは、2 番目の Windows サービス (同じ資格情報を持つ同じマシンで実行されている) の構成で、ログ ファイルの拡張子に関する問題を解決できたという事実です。プロジェクト オプションのアセンブリ情報を変更します。
何か案は?