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

2024-03-07

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

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

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

编辑(添加信息):

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

<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 页面 http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.logging.filelogtracelistener(VS.80).aspx这表明我应该能够,所以我会检查一下。不过,如果我找到一些对此的官方记录支持,我会更舒服。)

如果我这样做,我应该能够迭代跟踪侦听器集合My.Application.Log并仅链接到第一个 FileLogTraceListener Full LogFileName。


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

您将需要添加一个FileLogTraceListener到应用程序配置。

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

来自 MSDN 的更多文档:

  • 演练:确定 My.Application.Log 写入信息的位置 https://learn.microsoft.com/en-us/dotnet/visual-basic/developing-apps/programming/log-info/walkthrough-determining-where-my-application-log-writes-information
  • 在 Visual Basic 中使用应用程序日志 https://learn.microsoft.com/en-us/dotnet/visual-basic/developing-apps/programming/log-info/working-with-application-logs
  • 演练:更改 My.Application.Log 写入信息的位置 https://learn.microsoft.com/en-us/dotnet/visual-basic/developing-apps/programming/log-info/walkthrough-changing-where-my-application-log-writes-information
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以编程方式确定 VB 应用程序日志的位置? 的相关文章

  • PHP 从日志事件中获取行号

    好的 我还有一个问题HERE https stackoverflow com questions 3213423 php how could i make this class better suggestions feedback wel
  • 使用控制台记录器的控制台应用程序不会写入最终消息。轻松重现

    Windows 上使用 LoggerFactory 的 net 6 控制台应用程序 最终消息不会出现在控制台上 loggerFactory Dispose 没有帮助 Ilogger 没有 Dispose 方法 这是一个复制品 大约会出现 2
  • xmlns 元素的顺序重要吗

    我不知道如何在 google 中搜索此内容 但是 xmlns 元素的问题在 XML 文件中重要吗 我正在 ASP NET VB 中使用 XMLWriter 创建一个 XML 文件 并且尝试匹配我提供的示例
  • 简单的if检查多个值vb

    在Sql中我们可以像这样过滤 SELECT FROM 表名 WHERE 列名 IN firstValue secondValue 如何在VB Net中检查 有简单的方法吗 或者 只是 If variable firstValue Or va
  • 如何使用 log4j2.xml 配置 hibernate 日志记录?

    我最近切换到 Apache log4j2 但仍然找不到使用 log4j2 xml 配置 hibernate 日志记录的方法 因为我找不到解决此问题的方法 所以我仍然显式使用 log4j properties 文件进行休眠 这不是最好的解决方
  • ASP.NET Core 日志记录在 2 个不同的文件中

    当使用默认的 ASP NET core 日志记录与 Serilog 结合使用时 是否可以将错误写入errors log并将信息写入informations log using Microsoft Extensions Logging usi
  • VB.NET - 有没有办法在委托中使用可选参数? (或者计划允许这样做?)

    据我了解 在 VS2008 附带的 VB 版本中 委托中不可能有可选参数 但是 我想知道将来是否有任何解决方法或计划将此功能合并到 VB NET 中 我想做的事 Public Delegate Function Deserializer O
  • 根据值从绿色到红色[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要一个在 vb net 中返回从红色 值 0 到绿色 值 100 的颜色的函数 另外 我需要一种方法来确定字体的颜色应该是白色还是
  • WPF DataGrid 显示点而不是逗号

    在网上查找并寻找答案后没有结果 我想向您寻求帮助 我有一个包含 2 列的 SQL 数据库表 浮点数据类型 例如 1 2 1 3 1 4 等 绑定到一个DataGrid XAML 代码
  • 在哪里可以找到 AWS Amplify Logger 日志

    我目前正在开发一个使用 AWS Amplify 创建的 Web 应用程序 我必须在其中实现日志记录 基于AWS 放大文档 https docs amplify aws lib utilities logger q platform js有一
  • 需要参考$log.log调用行号

    当我使用 Angular log 服务时 控制台中的所有行都会显示对 angular js 5687 的引用 而不是我调用 log log 函数的行 如何获得对我调用 log 的行的引用 另外 我有自己的围绕 log 的服务 如何引用对我的
  • 如何在VB.NET中从另一个窗体打开一个窗体?

    我认为这很容易 我没有经常使用 VB NET 我正在尝试通过单击按钮打开一个表单 表单不会显示 并且我收到空异常错误 代码有什么问题吗 Private Sub Button3 Click sender As System Object e
  • 如何使用 VB.NET 或 C#.NET 代码从 yahoo 邮件 ID 发送邮件

    我想从我的 yahoomail Id 发送邮件 如何使用 VB NET 或 C NET 代码从 yahoo mail Id 发送邮件 需要善意的帮助 提前谢谢 西瓦库马尔 以下是一些制作基本 html 电子邮件消息的示例 http help
  • pytest 看不到正在测试的函数的日志

    我有一个像这样的烧瓶应用程序 from flask import Flask import logging app Flask name app route def catch all logging warning I m a warni
  • VB.Net 中的文件比较

    我需要知道两个文件是否相同 起初我比较了文件大小和创建时间戳 但这不够可靠 我想出了下面的代码 似乎可行 但我希望有人有更好 更简单或更快的方法 基本上我正在做的是将文件内容流式传输到字节数组 并通过 System Security Cry
  • .net 应用程序中的内存泄漏

    我正在 VB net 2005 中开发一个桌面应用程序 该应用程序包含一个间隔为 1 分钟的计时器 每次计时器计时 就会执行一组函数 大部分与数据库相关 最初 应用程序运行良好 在进程 任务管理器 中 每次调用计时器时 CPU 使用率都会达
  • 在 Spring Boot 应用程序中启用 Spring 框架的日志记录

    我已经使用 spring boot 创建了简单的网络应用程序 我想为 springframework 包启用调试日志 我知道如何在普通 spring mvc 项目中启用日志记录 我在这里尝试了相同的操作 但它不起作用 有人可以帮我吗 我的
  • WPF DataGrid 排序后滚动到顶部

    我有一个使用数据网格的 Net 4 0 WPF 应用程序 目前 按列排序后 网格的滚动位置保持在排序前的位置 对于此应用程序 我需要在任何排序后滚动到网格顶部 我尝试过像这样处理排序事件 Private Sub myDataGrid Sor
  • Environment.CurrentDirectory 与 System.IO.Directory.GetCurrentDirectory

    我正在编写一个 Net WinForms 并不断在调试和发布配置之间切换 并且有一些文件我需要任一配置才能访问 我想做的是将文件放在 BIN 文件夹中的公共目录中 这样它看起来像这样 MyProject Bin CommonFiles My
  • 装配和产品版本不匹配

    我正在尝试在 asp net 网站中使用 Ajax 控件工具包 我从之前的一个示例项目中复制了 dll 它有以下详细信息 Assembly Version 3 5 40412 0 File Version 3 5 40412 2 Inter

随机推荐

  • 终止使用Python的subprocess.Popen()创建的进程[重复]

    这个问题在这里已经有答案了 这是我的想法 首先 我使用 subprocess Popen 创建了一个进程 其次 在一段时间后 我尝试通过 Popen kill 杀死它 import subprocess import os signal i
  • 确定控制台应用程序是从命令行还是从 Powershell 运行

    如何确定控制台应用程序是从 Powershell 运行还是从应用程序内的标准命令行运行 像这样的事情可能比检查窗口标题更可靠 using System using System Diagnostics Process p Process G
  • Cakephp 2.3.x 发送文件并强制下载 mp4 文件

    我正在使用 cakephp 2 3 1 我想强制下载一个 mp4 文件http book cakephp org 2 0 en controllers request response html cake response file htt
  • Protractor:onPrepare 不同的测试套件

    我登录应用程序的 conf js 文件中有 onPrepare 我的理解是每次我运行 1 个或多个测试套件时 它首先执行 onPrepare 中的任何内容 这很棒 因为我在运行测试之前使用 onPrepare 登录到应用程序 问题是 当我运
  • ggplot2中直方图条形的反向填充顺序

    我注意到 使用绘图创建的直方图中填充条形的默认情况是按字母顺序逆序排列 而图例则按字母顺序排列 我有什么办法让两者按字母顺序排序吗 问题在下面的示例图中很明显 额外问题 如何将从左到右的条形顺序从字母顺序更改为递减计数总数 谢谢 df lt
  • 在部分视图中进行不显眼的客户端验证

    我有一个在 jQuery UI 对话框中呈现的部分视图 因为它是动态内容 所以不引人注目的客户端验证不起作用 为了得到它 我必须强制验证器解析表单的内容调用 validator unobtrusive parse 但这不起作用 我的浏览器报
  • SQL 按版本“编号”排序,不同长度的字符串

    我正在尝试创建一个 SQL 查询 该查询将按版本号 例如 1 1 4 5 10 等 对结果进行排序 这是我尝试过的 SELECT FROM Requirements WHERE Requirements Release NOT LIKE O
  • 每周数据的时间序列分解

    我对 R 完全陌生 刚刚开始使用它 我有三年的每周数据 我想将这个时间序列数据分解为趋势 季节性和其他组成部分 我有以下疑问 我应该使用哪个功能 ts or decompose 如何应对闰年的情况 如果我错了请指正 频率是52 提前致谢 我
  • PyQt5 + Python 3:跨线程传递列表、字典作为信号参数

    我正在使用 pyqtSignal 将 python 列表作为参数从工作线程发送到主线程 qt 何时创建作为参数传递的对象的副本 根据 http www embeddeduse com 2013 06 29 copied or not cop
  • Java优化的Cramers规则函数

    最近了解了初级微积分中的 Cramers 规则 并决定用 Java 制作一个算法来帮助我更好地理解它 以下代码 100 正确运行 但是它不使用任何类型的 for 循环来以更简单的方式执行其操作 问题 Java 中是否有更优雅的 Cramer
  • 如何清除 IDLE shell 中所有文本的屏幕?

    我想为 python 游戏创建一个基于文本的 GUI 我打算在多行文本之间移动一个字符 经过几个小时的在线搜索后 我发现的解决方案对此不起作用 我想要一些能够擦除屏幕上所有文本的东西 这样我就可以重新打印同一行 但角色移动了一个空格 需要明
  • range() 不是每次都会计算它的参数吗?

    l作为参数传递给range其值在内部被修改的函数for循环 但循环是为了10次而不是5 i 0 l 10 for i in range l print i l l l 1 输出是 0 10 1 9 2 8 3 7 4 6 5 5 6 4 7
  • 无法打开应用程序“Eclipse”。 -10810

    更新android L Preview的SDK后 我尝试将ADT从adt 22更新到23 但它说版本冲突 所以无法更新ADT然后我通过about eclipse卸载了ADT插件 重新启动eclipse后没有打开 它显示警告 因为无法打开应用
  • 使用 jOOQ 实现带间隔的 date_sub() 函数

    我从昨天起就一直在处理这个问题 问题是我正在将查询迁移到jOOQ http www jooq org当我尝试实现这一部分时 我陷入了困境 select from table where condition1 and date1 gt dat
  • 登录 Groovy 脚本

    我有一个基本的 Groovy 脚本 我希望尽可能简单地创建日志 我希望消息发送到标准输出以及日志文件 并且日志文件中的每个条目都有一个时间戳 我无法使用 Log 表示法 因为它是一个脚本 而且我没有要注入的类 否则我认为这将是理想的 您可以
  • Laravel 验证独特

    我有一个带有唯一列的表 我的表单验证规则如下所示 return Validator make data nameEN gt required string nameHE gt required string address gt requi
  • spring @Transactional 注解

    我有一个抽象类和两个扩展它的子类 我在 spring 配置文件中有以下内容
  • 如何配置 xdebug stacktrace 以链接到 VS Code 中的文件并打开文件

    当 xdebug 提供堆栈跟踪时 它可以创建链接以在文本编辑器中的特定行打开文件 例如 如果安装了 subl 处理程序 以下配置将在 Sublime 中打开文件 xdebug file link format subl open url f
  • 响应式设计 - 适用于智能手机和平板电脑的标准断点/媒体查询

    当您进行响应式设计编码时 智能手机和平板电脑的标准宽度是多少 我查看了不同的网站 但似乎没有找到任何好的标准宽度模板 你们在编码响应式设计时通常对断点 媒体查询做什么 如果有人有适合平板电脑 智能手机等的不同分辨率的好模板 请分享 谢谢 有
  • 如何以编程方式确定 VB 应用程序日志的位置?

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