使用NLog获取ASP.NET应用程序名称

时间:2016-02-19 21:43:20

标签: asp.net web-config nlog

我正在尝试弄清楚如何在配置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},但这给了我完整的路径。

有没有办法配置它?

这样做的目的是拥有一个由多个应用程序引用的配置文件,但它们都有自己的日志文件。

1 个答案:

答案 0 :(得分:4)

编辑:从编辑过的描述中我了解到您希望在IIS中读取MVC 5应用程序的网站名称。

您可以使用${iis-site-name}渲染器。

您需要安装NLog.Web NuGet包。无需其他配置。