DotNet · 2022年5月2日

使用My.Applicaton.Log和My.Log对象生成Application 日志 (Visual Basic)

使用 Application 日志 (Visual Basic)

Visual Studio 2012

My.Applicaton.Log 和 My.Log 对象,可以轻松地将日志记录和跟踪信息写入日志。

首先,使用日志的 TraceSource 属性的 Switch 属性检查消息的严重性。 TraceListener 集合中指定的跟踪侦听器。 Switch 属性进行比较。 如果消息的严重性足够高,侦听器将写出该消息。

WriteEntry 方法的消息传送到日志跟踪侦听器的 WriteLine 方法:

My 日志调用

您可以通过更改应用程序的配置文件来更改日志和跟踪侦听器的行为。 下面的关系图显示了日志某些部分和配置文件某些部分之间的对应关系。

My 日志配置

如果程序集没有配置文件,则 My.Application.Log 和 My.Log 对象将写入应用程序的调试输出(通过 DefaultTraceListener 类)。 My.Application.Log 对象将写入程序集的日志文件(通过 FileLogTraceListener 类),而 My.Log 对象写入 ASP.NET 网页输出(通过 WebPageTraceListener 类)。

以调试模式运行应用程序时,可以在 Visual Studio 的“输出”窗口中查看调试输出。 “输出”窗口,请单击“调试”菜单项,指向“窗口”,然后单击“输出”。 “输出”窗口中,从“显示以下输出”框中选择“调试”

默认情况下,My.Application.Log 将日志文件写入用户应用程序数据路径中。 DefaultFileLogWriter 对象的 FullLogFileName 属性获取该路径。 该路径的格式如下:

BasePath\CompanyName\ProductName\ProductVersion

BasePath 的典型值如下所示。

username\Application Data

CompanyNameProductName 和 ProductVersion 的值来自应用程序的程序集信息。 AssemblyName.log,其中 AssemblyName 是程序集的不带扩展名的文件名。 AssemblyNameiteration.log,其中 iteration 是正 Integer

可以通过添加或更改计算机和应用程序的配置文件来重写默认行为。 演练:更改 My.Application.Log 写入信息的位置 (Visual Basic)

Log 对象具有默认的实现,该实现能够在没有应用程序配置文件 app.config 的情况下工作。 若要更改默认设置,必须添加具有新设置的配置文件。 演练:筛选 My.Application.Log 输出 (Visual Basic)

日志配置节位于 app.config 文件的主 <configuration> 节点的 <system.diagnostics> 节点中。 日志信息在几个节点中定义:

  • Log 对象的侦听器在名为 DefaultSource 的 <sources> 节点中定义。
  • Log 对象的严重性筛选器在名为 DefaultSwitch 的 <switches> 节点中定义。
  • <sharedListeners> 节点中定义。

<sources><switches> 和 <sharedListeners> 节点的示例:

<configuration>
  <system.diagnostics>
    <sources>
      <source name="DefaultSource" 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>
</configuration>

开发应用程序时,其配置设置存储在 app.config 文件中,如上面的示例所示。 部署应用程序之后,仍然可以通过编辑配置文件来配置日志。 applicationName.exe.config,它必须与可执行文件位于同一文件夹中。 对于 Web 应用程序,该文件是与项目相关联的 Web.config 文件。

应用程序首次执行将创建类实例的代码时,会在配置文件中检查有关对象的信息。 Log 对象,检查工作发生在第一次访问 Log 对象时。 对于任一特定对象,系统只检查一次配置文件,即当应用程序首次创建该对象时。 因此,可能需要重新启动应用程序以使更改生效。

在已部署的应用程序中,在应用程序启动之前,可以通过重新配置开关对象来启用跟踪代码。 通常,此过程包括打开和关闭开关对象或者更改跟踪级别,然后重新启动应用程序。

将数据写入日志时,请考虑下列事项:

  • 避免泄露用户信息。确保应用程序仅仅将批准的信息写入日志。 例如,可以接受 Application 日志包含用户名,但不能包含用户密码。
  • 确保日志位置安全。应该将包含可能敏感的信息的任何日志存储在安全位置中。
  • 避免易误解的信息。通常,应用程序应验证用户输入的所有数据,然后才能使用这些数据。 这包括将数据写入 Application 日志。
  • 避免拒绝服务。如果应用程序将过多信息写入日志,可能填满日志,或者使得查找重要信息变得十分困难。

     

最新电影,电视剧,尽在午夜剧场

电影电视剧午夜不寂寞