gpt4 book ai didi

vb.net - 如何以编程方式确定 VB 应用程序日志的位置?

转载 作者:行者123 更新时间:2023-12-05 05:29:15 24 4
gpt4 key购买 nike

我正在改造一个旧的 vb.net 应用程序,使其符合 Vista 中的 LUA 原则。到目前为止,该应用程序使用了多种日志记录机制,但核心机制涉及将日志写入 c:\temp\(如果文件夹存在)。我想用更标准的日志记录机制替换当前的日志记录。

这是 VB,我决定尝试将 My.Application.Log 与 app.config 结合使用,并且就目前而言它可以正常工作(尽管我没想到它会转储到漫游配置文件)。不幸的是,用户习惯于使用日志中的信息进行故障排除,以及在提交错误时发送日志,而移动此日志可以很好地隐藏它。

我的想法是通过在应用程序的用户界面中添加指向日志的链接,或者至少添加指向包含日志的文件夹的链接,使日志更易于访问。但是,我不知道如何确定该链接将指向何处。

编辑(添加信息):

我的配置文件或多或少是内置的默认值:

<system.diagnostics>
<sources>
<source name="Error Log" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information" />
</switches>
<sharedListeners>
<add name="FileLog"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
initializeData="FileLogWriter"/>
</sharedListeners>
</system.diagnostics>

我想在配置文件中设置 FileLogTraceListener 的一些属性。 MaxSize,例如(之前有最大尺寸行为)。不过,我没有看到任何说明这一点的文档。 (在 FileLogTraceListener page 的基础上有一些社区内容表明我应该能够这样做,所以我会检查一下。不过,如果我找到一些官方文档支持,我会更舒服。)

如果这样做,我应该能够遍历 My.Application.Log 上的跟踪监听器集合,并且只链接到第一个 FileLogTraceListener 的 FullLogFileName。

最佳答案

我相信这是可配置的。它可以在 machine.config 文件中配置,或者您可以在您的应用程序配置文件中覆盖它 - 您需要这样做,以便您可以控制它并创建指向它的链接。

您需要将 FileLogTraceListener 添加到 app.config。

它位于 system.diagnostics\sharedListeners 部分。您可以在 initializeData 属性中指定文件名。

来自 MSDN 的更多文档:

关于vb.net - 如何以编程方式确定 VB 应用程序日志的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/480108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com