演练:关闭 My.Application.Log 输出

更新:2007 年 11 月

本演练演示如何关闭 My.Application.Log 对象的默认日志筛选功能。由于配置信息存储在应用程序的配置文件中,因此,可以在生成应用程序之后更改日志记录行为。

开始

My.Application.Log 对象将获得的每条消息都传递给自己的日志侦听器。此示例应用程序使用 My.Application.Log.WriteEntry 方法将消息写入侦听器。

生成示例应用程序

  1. 打开新的 Visual Basic Windows 应用程序项目。

  2. 将名为 Button1 的按钮添加到 Form1 中。

  3. 在 Button1 的 Click 事件处理程序中,添加以下代码:

    My.Application.Log.WriteEntry("Log entry")
    
  4. 在调试器中运行此应用程序。

  5. 按“Button1”。

    应用程序将下面的信息写入其调试输出和日志文件中。

    DefaultSource Information: 0 : Log entry

  6. 关闭应用程序。

有关如何查看应用程序的调试输出窗口的信息,请参见“输出”窗口。有关应用程序日志文件的位置的信息,请参见演练:确定 My.Application.Log 写入信息的位置

从 My.Application.Log 移除侦听器

默认情况下,一个应用程序有两个侦听器,用于写入该程序的调试输出和日志文件中。此示例演示如何移除这两个侦听器。

从日志对象中移除日志侦听器

  1. 在“解决方案资源管理器”中右击“app.config”,然后选择“打开”。

    - 或 -

    如果没有 app.config 文件,则:

    1. 在“项目”菜单上单击“添加新项”。

    2. 在“添加新项”框中,选择“应用程序配置文件”。

    3. 单击“添加”。

  2. 在 name 属性为 "DefaultSource". 的 <source> 节中找到 <listeners> 节。

    这些日志配置节位于 <system.diagnostics> 节点中,而该节点位于配置文件的主 <configuration> 节点中。DefaultSource 的 XML 位于 <sources> 节点中。

  3. 移除 name 属性为“FileLog”的 <add> 元素。该元素应类似于下面的元素:

    <add name="FileLog"/>

  4. 将此元素添加到 <listeners> 节中。

    <!-- Remove the default debug listener. -->
    <remove name="Default"/>
    
  5. app.config 文件的内容应类似于下面的 XML:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.diagnostics>
        <sources>
          <!-- This section configures My.Application.Log -->
          <source name="DefaultSource" switchName="DefaultSwitch">
            <listeners>
              <!-- Remove the default debug listener. -->
              <remove name="Default"/>
            </listeners>
          </source>
        </sources>
        <switches>
          <add name="DefaultSwitch" value="Information" />
        </switches>
      </system.diagnostics>
    </configuration>
    
  6. 在调试器中运行此应用程序。

  7. 按“Button1”。

    应用程序不在其日志文件或调试输出中写入信息。

有关在部署后更改日志设置的更多信息,请参见使用 Application 日志 (Visual Basic)

请参见

任务

演练:确定 My.Application.Log 写入信息的位置

演练:更改 My.Application.Log 写入信息的位置

演练:筛选 My.Application.Log 输出

演练:创建自定义日志侦听器

如何:写入日志消息

概念

记录来自应用程序的信息