首先讨论一个问题:客户端需不需要有日志?
这个问题其实就是牵涉到另外一个问题,需不需要日志?日志是干什么用的?日志当然是有用的,可以记录下系统发生的异常情况,以便开发方能够定位系统运行当中出现的错误,给解决问题提供了便利条件。
在服务器端记录日志信息,这个大家都好理解。服务器端出现了一些异常情况,导致某些地方不正确。用户直接把日志信息给发送给开发方,开发方根据日志记录的信息,得到系统中的异常。然后调试,测试,然后Debug。这些都是可以的。
但是客户端应用程序,如果它出现错误了的话,我们记录错误信息,其实还是有作用的。用户不一定会把所有的错误都记录下来,但是日志却会把所有的错误都记录下来。记录的详细程度取决于我们的设置。当然,客户端出现异常,其问题可能都是无法搞定的问题。比方说:Tray要是出异常了,到用户界面就是.NET弹出的消息框,点击Detail可以看到具体的异常信息。这种问题是需要反馈给开发方的,由于没有记录异常信息,可能就得需要用户把Detail里面的消息给记录下来,然后发送给我们。但是,对于那些不常出现的问题,或者用户干脆就忘记点击了,那么程序当中的潜在漏洞就被遗留过去了。
这样显然不是很好。因此,日志仍然还是一个比较必要的东西。
在.NET环境下,也可以使用一些日志工具。在log家族中,我以前一直使用的是LOG4J,虽然基本上只是把别人的log4j配置文件稍微改改。
对于.NET,log4net也很好。配置起来比较简单。使用上也比较类似,引用log4j的Reference,然后初始化log,使用LOG管理器,把日志信息给记录在LOG文件中。
日志的配置文件在帮助文档中有记载,有样例程序,整体感觉,不错。
这个问题其实就是牵涉到另外一个问题,需不需要日志?日志是干什么用的?日志当然是有用的,可以记录下系统发生的异常情况,以便开发方能够定位系统运行当中出现的错误,给解决问题提供了便利条件。
在服务器端记录日志信息,这个大家都好理解。服务器端出现了一些异常情况,导致某些地方不正确。用户直接把日志信息给发送给开发方,开发方根据日志记录的信息,得到系统中的异常。然后调试,测试,然后Debug。这些都是可以的。
但是客户端应用程序,如果它出现错误了的话,我们记录错误信息,其实还是有作用的。用户不一定会把所有的错误都记录下来,但是日志却会把所有的错误都记录下来。记录的详细程度取决于我们的设置。当然,客户端出现异常,其问题可能都是无法搞定的问题。比方说:Tray要是出异常了,到用户界面就是.NET弹出的消息框,点击Detail可以看到具体的异常信息。这种问题是需要反馈给开发方的,由于没有记录异常信息,可能就得需要用户把Detail里面的消息给记录下来,然后发送给我们。但是,对于那些不常出现的问题,或者用户干脆就忘记点击了,那么程序当中的潜在漏洞就被遗留过去了。
这样显然不是很好。因此,日志仍然还是一个比较必要的东西。
在.NET环境下,也可以使用一些日志工具。在log家族中,我以前一直使用的是LOG4J,虽然基本上只是把别人的log4j配置文件稍微改改。
对于.NET,log4net也很好。配置起来比较简单。使用上也比较类似,引用log4j的Reference,然后初始化log,使用LOG管理器,把日志信息给记录在LOG文件中。
日志的配置文件在帮助文档中有记载,有样例程序,整体感觉,不错。