FileLogTraceListener 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供一个简单的侦听器,用于将日志记录输出指引至文件。
public ref class FileLogTraceListener : System::Diagnostics::TraceListener
[System.Runtime.InteropServices.ComVisible(false)]
public class FileLogTraceListener : System.Diagnostics.TraceListener
[<System.Runtime.InteropServices.ComVisible(false)>]
type FileLogTraceListener = class
inherit TraceListener
Public Class FileLogTraceListener
Inherits TraceListener
- 继承
- 属性
注解
类 FileLogTraceListener 提供自动维护功能,以根据需要每日或按应用程序存档日志文件。 这种自动存档功能有助于减少开发人员和管理员的维护责任。
可以将 的FileLogTraceListener实例添加到 或 Trace.Listeners 集合,Debug.Listeners以将日志记录的输出重定向到文本文件。 此类的实例也可以添加到 My.Application.Log
My.Log
或 (Visual Basic 应用程序中的 Web 应用程序) 。 有关详细信息,请参阅 演练:更改 My.Application.Log 写入信息的位置。
此类main功能包括:
存档功能。 此类生成的日志文件根据基名称和日期以及用于将日志文件与连续版本的日志区分开来的数字命名。 将根据需要创建新的日志文件。
文件名的显式形式为
baseName
[-dateStamp
][-version
].log,其中:部件
baseName
是由 属性指定 BaseFileName 的基本日志名称。部件
dateStamp
的格式为“YYYY-MM-DD”,在 为 Daily 或 Weekly时LogFileCreationSchedule显示。如果需要多个具有相同 和
dateStamp
的baseName
日志文件,则会在version
文件名中添加一个正Integer
部分。
多个类实例。 如果 类的 FileLogTraceListener 实例写入正在使用的文件:
如果同一进程中的另一个类实例正在使用该文件, FileLogTraceListener 则类将共享该文件。
如果另一个进程正在使用该文件,则 类将使用下一个可用名称创建新的日志文件。
线程安全。 类 FileLogTraceListener 是线程安全的。 这样,无需使用锁,即可从多个线程安全地将消息写入日志。
日志文件位置
属性 Location 采用 LogFileLocation 枚举来指定要将日志文件写入到的典型目录之一。
若要将日志写入其他位置,请将 CustomLocation 属性设置为该位置。
日志文件名
日志文件的基名称由 BaseFileName 属性指定。
可以从 属性中读取 FullLogFileName 当前日志文件名。 它派生自其他几个属性和文件系统中日志的当前状态。
日志维护
创建新日志文件的最小频率由 LogFileCreationSchedule 属性确定。 当值为 Daily 或 Weekly时,将每天或每周至少创建一次新的日志文件,并将日期戳合并到名称中 FullLogFileName 。
日志文件) 的最大大小 (字节数由 MaxFileSize 属性确定。 如果日志文件大小超过此大小,则会丢弃写入日志的其他消息,并引发异常,具体取决于 DiskSpaceExhaustedBehavior 属性。
属性 ReserveDiskSpace 确定 () 必须有多少可用空间(以字节为单位)。 这有助于确保 FileLogTraceListener 类不会占用所有可用磁盘空间。 DiskSpaceExhaustedBehavior使用 属性可以指定可用字节小于ReserveDiskSpace时的日志写入行为。
日志文件输出设置
属性 AutoFlush 指定是否应在每次写入日志文件后自动刷新基础流。
属性 Append 指定是在允许的情况下将消息追加到当前日志文件,还是将其写入新的日志文件。
属性 Delimiter 指定用于分隔日志消息中的字段的字符串。
属性 Encoding 指定创建新日志文件时要使用的编码。
日志文件输出
TraceData和 TraceEvent 方法将消息写入日志文件。 这些方法检查 LogFileCreationSchedule 属性,以及具有相同基名称的任何现有日志,以确定是否应创建新日志。
方法 Flush 将当前位于输出缓冲区中的任何消息刷新到日志文件。
方法 Close 关闭日志文件,以便其他进程可以使用它。
启用输出
必须启用跟踪或调试才能使用跟踪侦听器。 以下语法特定于编译器。 如果使用 C# 或 Visual Basic 以外的编译器,请参阅编译器的文档。
若要在 C# 中启用调试,请在
/d:DEBUG
编译代码时将 标志添加到编译器命令行,或者可以添加到#define DEBUG
文件的顶部。 在 Visual Basic 中,将/d:DEBUG=True
标志添加到编译器命令行。若要在 C# 中启用跟踪,请在
/d:TRACE
编译代码时将 标志添加到编译器命令行,或添加到#define TRACE
文件的顶部。 在 Visual Basic 中,将/d:TRACE=True
标志添加到编译器命令行。
在.NET Framework应用中,可以通过编辑应用程序的配置文件来设置侦听器的级别。 在此文件中,可以添加侦听器、设置其类型和设置其参数、删除侦听器或清除以前由应用程序设置的所有侦听器。 配置文件的格式应如以下示例所示。
<configuration>
<system.diagnostics>
<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>
若要运行此示例,必须提供完全限定的程序集名称。 有关如何获取完全限定程序集名称的信息,请参阅 程序集名称。
构造函数
FileLogTraceListener() |
使用默认名称初始化 FileLogTraceListener 类的新实例。 |
FileLogTraceListener(String) |
用提供的名称初始化 FileLogTraceListener 类的新实例。 |
属性
Append |
确定是将输出追加到当前文件还是将输出写入新文件或现有文件。 |
Attributes |
获取应用程序配置文件中定义的自定义跟踪侦听器特性。 (继承自 TraceListener) |
AutoFlush |
指示写入日志文件流时是否刷新缓冲区。 |
BaseFileName |
获取或设置日志文件的基名称,该名称用于创建日志文件的完整名称。 |
CustomLocation | |
Delimiter |
获取或设置用于在日志消息中分隔字段的分隔符。 |
DiskSpaceExhaustedBehavior |
确定在写入日志文件时,如果可用磁盘空间小于 ReserveDiskSpace 属性所指定的磁盘空间时应采取的操作。 |
Encoding |
获取或设置创建新日志文件时使用的编码。 |
Filter |
获取或设置跟踪侦听器的跟踪筛选器。 (继承自 TraceListener) |
FullLogFileName |
获取当前日志文件的完整名称。 |
IncludeHostName |
指示输出中是否应包括日志记录计算机的主机名。 |
IndentLevel |
获取或设置缩进级别。 (继承自 TraceListener) |
IndentSize |
获取或设置缩进的空格数。 (继承自 TraceListener) |
IsThreadSafe |
获取一个值,该值指示跟踪侦听器是否是线程安全的。 (继承自 TraceListener) |
Location |
获取或设置日志文件的位置。 |
LogFileCreationSchedule |
确定要包括在日志文件名称中的日期。 |
MaxFileSize |
获取或设置所允许的日志文件的最大大小,以字节为单位。 |
Name |
获取或设置此 TraceListener 的名称。 (继承自 TraceListener) |
NeedIndent |
获取或设置一个值,该值指示是否缩进输出。 (继承自 TraceListener) |
ReserveDiskSpace |
获取或设置在将消息写入日志文件之前需要满足的可用磁盘空间量(以字节为单位)。 |
TraceOutputOptions |
获取或设置跟踪输出选项。 (继承自 TraceListener) |