App_Dataディレクトリ以下に配置されたファイルへのNLogを使ったログ出力

IIS7.5のアプリケーションプールのデフォルトのユーザーIDであるApplicationPoolIdentityでそのまま出力できました。最初、FileのtargetにfileName="~/App_Data/app.log"と指定していてうまくいかないなぁと思っていたのですが、fileName="${basedir}/App_Data/app.log"でいいみたい。
App_Data以外のところへ出力しようとするとアクセス権限与えないといけないから、そういうことなしで出力できるのは楽ですね。


<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target name="ASPNetTrace" xsi:type="ASPNetTrace" />
<target name="File" xsi:type="File" fileName="${basedir}/App_Data/app.log" />
</targets>
<rules>
<logger name="*" writeTo="ASPNetTrace, File" />
</rules>
</nlog>


開発環境は、targetにASPNetTraceとFileを使えばあんまり困ることないかな。