记录程序日志的三种选择

记录程序日志的三种选择,第1张

1、采用Log4CXX等公共开源日志组件:这类日志组件的特点是跨平台且功能比较强大,例如可以把日志发往另一台服务器或记录到数据库中等;另外,可配置性较高,可以通过配置文件或程序代码对日志进行很多个性化设置。但从另外一个角度看,由于这些优点往往也导致了在使用方面的缺点。首先,笑念数对于一般应用程序来说,它们并不需要太多的功能,通常只需要把日志记录到文件或反馈到应用程序,功能太多反正让用户使用起来觉得繁琐还得背负很多从来都碰首用不到的代码。其次,这类日志组件通常是跨平台的,并不只是针对 Windows 或 VC 的`应用程序,因此使用起来总会觉得有点别扭,例如他们的字符都是用 char 类型的,对于一个 Unicode 程序来说每次写日志都要做字符转换是很不爽的事情,本座在多年前曾经使用过 Log4Cpp ,程序执行时总是报告日志组件有内存泄露,虽然有可能是误报,但是使用起来总觉得很不舒服。

2、自己写几个简单的类或函数记录日志:这种方法的确很简单,通常都不用一两百行的高简代码。但这种方法通常缺乏规范性和通用性,其他程序需要记录类似的但有点差异的日志时,通常的作法是:Copy-Paste-Modify;另外,这类方法很可能也没有考虑性能或并发方面的问题,通常是直接在工作线程中写日志,对于那些性能要求较高的应用程序是绝对不允许的。

3、干脆不记录任何日志:的确,现在很多程序由于各种原因并没有记录任何日志。但本座以为,如果一个程序是有用的,具备一定功能,并且需要连续运行较长一段时间,那么记录日志是必须的;否则,得认真考虑该程序是否有存在的必要了。

以三星 s7手磨粗机为例

*** 作步骤

1、开始,先在手机的桌面上找到应用程序“设置”图标,点击敬游配亮指进入新的 *** 作界面。

2、然后,进入到设置的 *** 作界面后,找到“开发者选项”选项,点击打开。

3、进入到开发者选项的 *** 作界面后,找到“运行中的服务”选项,点击打开。

4、进入到运行中的服务的 *** 作界面后,即可看到程序运行日志。

在写入日志条目时,系统使用您标识的源来查找适当的日志以放入您的条目。EventLog 组件实例一次只能向一个日志中写入项。说明:默认情况下,如果事先未将组件注册为有效的源就尝试写入日志项,系统会自动将该源注册到事件日志中,并将 Source 属性的值用作源字符串。通常在安装应用程序的过程中创建新的事件源。这样, *** 作系统就有时间刷新自己的已注册事件源的列表及其配置。陵搏穗如果 *** 作系统未刷新其事件源列表,而您试图用新的事件源来编写事件,则写 *** 作将失败。如果不能选择在安装过程中创建事件源,则请尝试在第一次写 *** 作之前尽早创建事件源,比如在应用程序初始化过程中创建。如果选择这尺卜种方法,请确保使用计算机上的管理员权限运行初始化代码。这些权限是创建新事件源所必需的权限。如果在使用 CreateEventSource 方法时银弊指定了并不存在的日志名,系统将在您第一次尝试向日志中写入项时使用该名称创建一个新的、自定义的事件日志。有关更多信息,请参见 如何:创建和移除自定义事件日志。可以使用事件类别和消息字符串的本地化资源来注册事件源。应用程序可以使用资源标识符而不是通过指定实际字符串值来写入事件日志项。以下代码提供了一个示例:C#VB System.Diagnostics.EventSourceCreationData creationData = new System.Diagnostics.EventSourceCreationData("ApplicationName", "Application")creationData.MachineName = "ServerName"EventLog.CreateEventSource(creationData)请参见任务如何:确定事件源是否存在如何:移除事件源如何:创建和移除自定义事件日志演练:浏览事件日志、事件源和项概念EventLog 组件介绍参考EventLog


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存