我在ASP.NET MVC 3应用程序中使用System.Diagnostics + Essential.Diagnostics作为我的记录器。这是我的web.config:
<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_Data\Logfiles\
。
我想将日志文件放入我应用程序的app_data文件夹中,但由于应用程序放在我的开发PC,登台服务器和主服务器的不同位置,我需要将相对路径放在{{1 }}。类似于initializeData
。
我已尝试.\App_Data\Logfiles\
,但已转到.\App_Data\Logfiles\
。
是否可以使用Essential.Diagnostics的相对路径指向我的app文件夹?
答案 0 :(得分:2)
使用此令牌:{AppData}
<sharedListener>
<add name="rollingfile"
type="Essential.Diagnostics.RollingFileTraceListener, Essential.Diagnostics"
initializeData="{AppData}\{ApplicationName}-{DateTime:yyyy-MM-dd}.log"
convertWriteToEvent="true"></add>
<sharedListener>