This commit is contained in:
hongruiqi
2013-01-29 08:36:43 +08:00
parent ccce3adec1
commit 47b0b70866

View File

@@ -1,5 +1,5 @@
# 12.1 应用日志
我们期望开发的Web应用程序能够把整个程序运行过程中出现的各种事件一一记录下来Go语言中提供了一个简易的log包我们使用该包可以方便的实现日志记录的功能这些日志都是基本的给予fmt包的打印再结合panic之类的一些函数来处理我们一般的打印抛出错误之类的。如果我们想把我们的应用日志保存到文件,然后又能够结合日志实现很多复杂的功能编写过Java或者C++的读者应该都使用过log4j和log4cpp之类的日志工具Go目前标准包就如前面介绍的只是包含了一个简单的包但是目前第三方开发的一个日志系统实现了很强大的日志功能`https://github.com/cihub/seelog`,接下来我们介绍如何通过该日志系统来实现我们应用的日志功能。
我们期望开发的Web应用程序能够把整个程序运行过程中出现的各种事件一一记录下来Go语言中提供了一个简易的log包我们使用该包可以方便的实现日志记录的功能这些日志都是基fmt包的打印再结合panic之类的函数来进行一般的打印抛出错误处理。Go目前标准包只是包含了简单的功能如果我们想把我们的应用日志保存到文件,然后又能够结合日志实现很多复杂的功能编写过Java或者C++的读者应该都使用过log4j和log4cpp之类的日志工具),可以使用第三方开发的一个日志系统,`https://github.com/cihub/seelog`它实现了很强大的日志功能。接下来我们介绍如何通过该日志系统来实现我们应用的日志功能。
## seelog介绍
seelog是用Go语言实现的一个日志系统它提供了一些简单的函数来实现复杂的日志分配、过滤和格式化。主要有如下特性
@@ -158,9 +158,9 @@ seelog支持自定义日志处理下面是我基于它自定义的日志处
通过这种方式我们就可以很方便的查找相应的信息这样有利于我们针对应用日志做一些统计和分析。另外我们还需要考虑日志的大小对于一个高流量的Web应用来说日志的增长是相当可怕的所以我们在seelog的配置文件里面设置了logrotate这样就能保证日志文件不会因为不断变大而导致我们的磁盘空间不够引起问题。
## 小结
通过上面对seelog系统及如何基于它进行自定义日志系统的学习现在我们可以很轻松的随需构建一个合适的功能强大的日志处理系统了。日志处理系统为数据分析提供了可靠的数据源比如通过对日志的分析我们可以进一步优化系统或者应用出现问题时方便查找定位问题另外seelog也提供了日志分级功能通过对minlevel的配置,我们可以很方便的测试或发布版本的输出消息。
通过上面对seelog系统及如何基于它进行自定义日志系统的学习现在我们可以很轻松的随需构建一个合适的功能强大的日志处理系统了。日志处理系统为数据分析提供了可靠的数据源比如通过对日志的分析我们可以进一步优化系统或者应用出现问题时方便查找定位问题另外seelog也提供了日志分级功能通过对minlevel的配置我们可以很方便的设置测试或发布版本的输出消息级别
## links
* [目录](<preface.md>)
* 上一章: [部署与维护](<12.0.md>)
* 下一节: [网站错误处理](<12.2.md>)
* 下一节: [网站错误处理](<12.2.md>)