我正在尝试弄清楚如何在配置NLog时将应用程序名称包含在我的文件名中。这是一个例子:
<target name="trace" xsi:type="File" FileName="C:\MyApp_${date:format=yyyyMMdd}-trace.log" layout="${longdate} ${exception:format=tostring}" />
但是,我似乎无法弄清楚我需要使用哪个变量来提取我的应用程序的名称。我希望它是这样的:
<target name="trace" xsi:type="File" FileName="C:\${AppName}_${date:format=yyyyMMdd}-trace.log" layout="${longdate} ${exception:format=tostring}" />
我在这里查看了文档,https://github.com/NLog/NLog/wiki/Layout-Renderers但是它们似乎都没有能够获取我的应用程序名称,我找到的最好的是${basedir}
,但这给了我完整的路径。
有没有办法配置它?
这样做的目的是拥有一个由多个应用程序引用的配置文件,但它们都有自己的日志文件。
答案 0 :(得分:4)
编辑:从编辑过的描述中我了解到您希望在IIS中读取MVC 5应用程序的网站名称。
您可以使用${iis-site-name}
渲染器。
您需要安装NLog.Web NuGet包。无需其他配置。