Asp.net mvc 3 使用Essential.Diagnostics存储日志文件的相对路径
我正在ASP.NET MVC 3应用程序中为我的记录器使用System.Diagnostics+。这是我的web.config:Asp.net mvc 3 使用Essential.Diagnostics存储日志文件的相对路径,asp.net-mvc-3,logging,Asp.net Mvc 3,Logging,我正在ASP.NET MVC 3应用程序中为我的记录器使用System.Diagnostics+。这是我的web.config: <system.diagnostics> <trace autoflush="true" /> <sources> <source name="requests" switchValue="All"> <listeners>
<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="requests" switchValue="All">
<listeners>
<remove name="default" />
<add name="rollingxml" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="rollingxml"
type="Essential.Diagnostics.RollingXmlTraceListener, Essential.Diagnostics"
initializeData="e:\myapi\v2\App_Data\Logfiles\{ApplicationName}-{LocalDateTime:yyyy-MM-dd}.svclog"
/>
</sharedListeners>
</system.diagnostics>
如您所见,存储日志文件的文件夹路径被硬编码为e:\myapi\v2\App\u Data\Logfiles\
我想将日志文件放入我的应用程序的app_数据文件夹中,但由于该应用程序放在我的dev PC、暂存服务器和主服务器的不同位置,我需要将相对路径放入初始化数据中。类似于\App\u Data\Logfiles\
我尝试了\App\u Data\Logfiles\
,但它转到了c:\windows\system32\inetsrv\App\u Data\Logfiles\
是否可以使用带有Essential.Diagnostics的相对路径指向我的应用程序文件夹?使用此标记:{AppData}
<sharedListener>
<add name="rollingfile"
type="Essential.Diagnostics.RollingFileTraceListener, Essential.Diagnostics"
initializeData="{AppData}\{ApplicationName}-{DateTime:yyyy-MM-dd}.log"
convertWriteToEvent="true"></add>
<sharedListener>
我不熟悉Essential.Diagnostics,但在log4net中,您可以在配置中使用环境变量来指示路径。Essential.Diagnostics是否支持路径中的环境变量?@HectorCorrea我认为它没有该功能,但我也不熟悉它。