次の構成でNLogを使用します。
<targets>
<target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
layout="${longdate} ${uppercase:${level}} ${message}" />
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="f" />
</rules>
FileName
のプロパティを取得しようとしましFileTarget
た(コレクションにFileTargetが1つしかないことを確認します)
NLog.LogManager.GetCurrentClassLogger().Info("test");
var logFile = (from t in NLog.LogManager.Configuration.AllTargets
where t is NLog.Targets.FileTarget
select (NLog.Targets.FileTarget)t).FirstOrDefault();
ただし、logFile.FileNameには、ファイル名のパターンのみが含まれています。これは、設定で指定されているとおりです。
現在のログファイルのランタイムパスを取得するにはどうすればよいですか?