ログを記録するアプリケーションがあり、それをデフォルト ディレクトリにデプロイすると、ファイル ベースのログが取得されません。その理由は、「c:\program files (x86)\blah」への書き込みには、アプリにはない特権レベルの昇格が必要であることは明らかです。そのため、ユーザーに「「c:\blah」にインストールすると正常に動作することを伝えることになります。しかし、それはごみのようです。代替手段はありますか?
2151 次
2 に答える
5
別のフォルダーにログを記録するように NLog を構成できます。NLog には、.NET の特別なフォルダーを使用できるようにするSpecialFolderLayoutRendererがあります。SpecialFolderLayoutRenderer を使用してログ ファイル名を指定できるはずです。多分このようなものです(私はこれを試していません):
<target name="file" xsi:type="File" layout="${longdate} | ${logger} | "${level} | ${message}" fileName="${specialfolder:folder=MyDocuments:dir=LogFiles:file=${shortdate}.log}" />
これにより、(機能する場合)LogFiles
ユーザーのDocuments
フォルダーのサブフォルダーにログファイルが作成され、実際のログファイル名は日付に対応します。わかりませんが、何かが初めてログに記録されたときに NLog が LogFiles フォルダーを作成すると思います。
幸運を!
于 2013-01-18T18:41:41.733 に答える