如何简单创建日志文件

如何简单创建日志文件,第1张

您可以创建日志文件,并使其包含与互 *** 作性、程序加载和网络有关的诊断信息。通过设置注册表项,可以启用日志记录。首先,设置一个注册表项以启用常规日志记录,然后针对所需的日志记录组件和选项来设置注册表项。

可以使用下列方法设置注册表项:

使用 Visual Studio 中的远程注册表编辑器。

在 .NET Compact Framework 2.0 Service Pack 1 中,使用远程性能监视器中的日志记录选项。有关远程性能监视器的更多信息,请参见 如何:在运行时监视性能。

在 .NET Compact Framework 3.5 中,可以使用日志记录工具 NetCFLogging.exe,该工具提供了用于启用和禁用日志记录的简单的图形用户界面。此工具包括在 Power Toys for .NET Compact Framework 中。有关更多信息,请参见 Power Toys for .NET Compact Framework。

使用 Registry 和 RegistryKey 类,.NET Compact Framework 2.0 版及更高版本支持这些类。

下表对这些日志文件进行了总结。

日志记录组件

日志文件内容

互 *** 作

记录 COM 互 *** 作调用。提供有关平台调用和封送处理的信息。

错误

记录所有未处理的异常和本机异常。将错误记录到日志文件和 OutputDebugString 中。将为位于当前路径的每个程序集创建日志文件,并将其应用于当前会话。在第一次出现未处理的异常或本机异常之后,将覆盖日志文件。

加载程序

记录有关程序加载的信息。文件标头包含下列信息:

应用程序名称。

进程 ID(由 Windows Embedded CE 提供)。

创建日志文件的本地日期和时间。其格式不是全局性的,而是区域性特定的。

.NET Compact Framework 版本,例如 2.0.5021.00。

与平台相关的信息,例如 Windows Embedded CE v5.0.1400 (CEPC) WinCE5x86 debug Dev i386 IJITv2。

文件提供以下信息:

强制状态(兼容性模式)。

加载模块时为模块指定的信任级别。

解析方法时失败。

解析类型时失败。

查找或加载程序集或模块时失败。

程序集加载成功。

无效的元数据版本。

查找平台调用 DLL 时失败。

在平台调用 DLL 中查找函数时失败。

策略文件的名称,或者指出缺少该文件的事实。

策略文件处理过程中的主要错误。

托管程序集基于策略的重定向。

此外,还可以包括有关全局程序集缓存的信息。

网络

记录网络流量。网络日志文件是二进制文件,如果没有 .NET Compact Framework 日志查看器 Logviewer.exe,则无法访问该文件。在 .NET Compact Framework 3.5 及更高版本中,该日志查看器包含在 Power Toys for .NET Compact Framework 中。有关更多信息,请参见 Power Toys for .NET Compact Framework。

由于网络日志记录发生在 Windows 套接字层,因此日志文件只包含网络数据包信息。这包括通过网络发送的数据,其中有些可能是敏感数据,因而需要进行加密。

终结器

记录在垃圾回收器丢弃对象之前未释放这些对象的类名。.NET Compact Framework 3.5 及更高版本支持此日志。

对象名不包含在日志中,原因是这些名称对于公共语言运行时 (CLR) 不可用。但是,未释放的对象的类名有助于识别这些对象。未释放的对象在应用程序中可能造成性能问题。

说明:

某些情况下,调用终结器的是 .NET Compact Framework 而不是应用程序代码。

此文件包含以下信息:

指示终结器何时对对象运行垃圾回收器的时间戳。

被终结对象的类。

跟踪

记录 Windows Communication Foundation (WCF) 的代码异常。桌面 .NET Framework 支持三种日志记录:跟踪、消息处理和事件日志记录。.NET Compact Framework 上的 WCF 只支持通过跟踪日志记录来跟踪代码异常,但它不记录警告和错误消息。

.NET Compact Framework 3.5 及更高版本支持此日志。

默认情况下,系统会将日志文件写入包含被诊断的应用程序的目录。但是,您可以使用注册表项指定路径和其他选项,如下所示:

使用其他路径写入日志文件。这需要安全注册表的访问权限。

在日志文件名中包含应用程序名称。

在日志文件名中包含进程 ID。

日志文件名由以下几部分组成,其中组件 可以是“互 *** 作”、“错误”、“加载程序”或“网络”、“终结器”或“跟踪”:

netcf_应用程序名称_组件_进程 ID.log

应用程序名称和进程 ID 为可选项,它们基于注册表设置。

例如,对于名为 MyApp.exe 的应用程序,其加载程序日志文件可命名如下:

netcf_MyApp_Loader_2066923010.log

有关如何检查互 *** 作日志文件和加载程序日志文件等日志文件的信息,请参见 日志文件信息。

启用日志记录

将以下 Enabled 项的值设置为 1:

HKLM\Software\Microsoft\.NETCompactFramework\Diagnostics\Logging\Enabled

必须设置此项值才能启用六种日志记录:互 *** 作、加载程序、错误、网络、终结器和跟踪。请注意,默认情况下,Logging 下的子项并不存在。

可以通过将此值设置为 0(零)来关闭所有日志记录。

指定日志文件路径(可选)

将以下 Path 项的值设置为表示日志文件位置的字符串:

HKLM\Security\.NETCompactFramework\Diagnostics\Logging\Path

此项只能通过可写入安全注册表的应用程序来访问。如果未指定路径,系统会将日志文件写入包含应用程序的目录。

在名称中包含应用程序(可选)

将以下 UseApp 项的值设置为 1:

HKLM\Software\Microsoft\.NETCompactFramework\Diagnostics\Logging\UseApp

如果要运行多个应用程序并为每个应用程序获取单独的日志文件,则可以使用此项。如果有两个应用程序将日志文件写入同一目录,则当第二个应用程序运行时,较早的日志文件始终会被较新的日志文件覆盖。UseApp 项可以用作日志文件的区分符。

在名称中包含进程 ID(可选)

将以下 UsePid 项的值设置为 1:

HKLM\Software\Microsoft\.NETCompactFramework\Diagnostics\Logging\UsePid

如果要多次运行同一个应用程序并为每个实例创建单独的日志,则可以使用此项。此设置会在日志文件名中添加进程 ID,以使应用程序的每个实例都能用不同的名称创建新日志文件。

在事件发生时记录事件(可选)

将以下 Flush 项的值设置为 1:

HKLM\Software\Microsoft\.NETCompactFramework\Diagnostics\Logging\Flush

设置此值后,公共语言运行时 (CLR) 便会在事件发生时立即将日志事件写入日志文件,而不是先将事件保存在缓冲区中,并在写满缓冲区时才写入日志文件。此设置会给应用程序的性能带来负面影响,并可能稍稍修改应用程序的计时。但是,它有助于诊断与应用程序故障或其他错误有关的问题,因为您可能需要查看导致错误的最后几个事件。如果不存在或未设置此项,则系统将只有在写满缓冲区后,才会向日志文件写入数据。

如果你已经用上了Windows XP,那么是否意识到不管你是否愿意, *** 作系统每天都在后台默默无闻地记录下所有的一举一动,相当于忠实的史官“铁笔写春秋”,这就是可以在“控制面板→管理工具”中找到的“事件查看器”,通过它可以了解系统的喜怒哀乐和一言一行,虽然都是一些流水账,但我们既可以从中品尝到成功的喜悦,也可以找到失败的原因,实在是一个忠实的系统助手。

事件查看器能看些什么

事件查看器相当于一本厚厚的系统日志,可以查看关于硬件、软件和系统问题的信息,也可以监视Windows XP的安全事件,下面笔者简单介绍:

提示:除了可以在“控制面板→管理工具”中找到“事件查看器”的踪影外,也可以在“运行”对话框中手工键入“%SystemRoot%\system32\eventvwr.msc /s”打开事件查看器窗口。

1. 应用程序日志

包含由应用程序或系统程序记录的事件,主要记录程序运行方面的事件,例如数据库程序可以在应用程序日志中记录文件错误,程序开发人员可以自行决定监视哪些事件。如果某个应用程序出现崩溃情况,那么我们可以从程序事件日志中找到相应的记录,也许会有助于你解决问题。

2. 安全性日志

记录了诸如有效和无效的登录尝试等事件,以及与资源使用相关的事件,例如创建、打开或删除文件或其他对象,系统管理员可以指定在安全性日志中记录什么事件。默认设置下,安全性日志是关闭的,管理员可以使用组策略来启动安全性日志,或者在注册表中设置审核策略,以便当安全性日志满后使系统停止响应。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11843969.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存