使用 Essential.Diagnostics 存储日志文件的相对路径

发布于 2024-12-10 08:45:57 字数 1274 浏览 0 评论 0原文

我在 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、登台服务器和主服务器中的不同位置,因此我需要将相对路径放入 initializeData.类似于 .\App_Data\Logfiles\

我已尝试 .\App_Data\Logfiles\ 但它转到 c:\windows\system32\inetsrv\App_Data\Logfiles\

是否可以使用 Essential.Diagnostics 的相对路径指向我的应用程序文件夹?

I am using System.Diagnostics + Essential.Diagnostics for my logger in my ASP.NET MVC 3 app. Here is my 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>

As you can see, the folder path to store the log files are hardcoded as e:\myapi\v2\App_Data\Logfiles\.

I want to put the log files into my app's app_data folder, but since the app is put in different locations in my dev PC, the staging server, and the main server, I need to put relative path in the initializeData. Something like .\App_Data\Logfiles\.

I have tried .\App_Data\Logfiles\ but it went to c:\windows\system32\inetsrv\App_Data\Logfiles\.

Is it possible to point to my app folder using relative path with Essential.Diagnostics?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你的呼吸 2024-12-17 08:45:57

使用此令牌:{AppData}

<sharedListener>

<add name="rollingfile" 
             type="Essential.Diagnostics.RollingFileTraceListener, Essential.Diagnostics" 
             initializeData="{AppData}\{ApplicationName}-{DateTime:yyyy-MM-dd}.log" 
             convertWriteToEvent="true"></add>
<sharedListener>

参考:https://essentialdiagnostics.codeplex.com/ wikipage?title=RollingFileTraceListener&referringTitle=文档

Use this token: {AppData}

<sharedListener>

<add name="rollingfile" 
             type="Essential.Diagnostics.RollingFileTraceListener, Essential.Diagnostics" 
             initializeData="{AppData}\{ApplicationName}-{DateTime:yyyy-MM-dd}.log" 
             convertWriteToEvent="true"></add>
<sharedListener>

ref: https://essentialdiagnostics.codeplex.com/wikipage?title=RollingFileTraceListener&referringTitle=Documentation

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文