自己动手封装让Logrus支持本地与ELK日志

程序中记录日志一般有两个目的:Troubleshooting和显示程序运行状态。好的日志记录方式可以提供我们足够多定位问题的依据。日志记录大家都会认为简单,但如何通过日志可以高效定位问题并不是简单的事情。 在Go语言中,日志库并不像Java一样有一个具有统治力的日志库。在做新项目技术选型的时候,难免会遇到日志库的选择问题。近期公司新项目我选择了logrus是我已知的Go语言日志库中在Github中stars数最多的日志库。 官网介绍: Logrus is a structured logger for Go Continue Reading …

如何搭建一个集中式的日志管理系统

日志是任何系统的重要组成部分,当发生错误时,它们会提供系统正在执行的操作以及导致错误的原因。 几乎每个系统都会以某种形式生成日志,这些日志将写入本地磁盘上的文件。当我们查看日志文件的时候我们就能够很快的定位问题,并且修复Bug。 然而随着互联网的发展,我们的系统越来越复杂,分布式系统、微服务架构,我们的应用跑在成百上千台服务器上。这时候一个集中式的日志管理系统是很有必要的。 集中式日志应系统大体分为四个部分 – 收集日志,传输,存储和分析(可视化)。 我们将深入研究这些部分,并了解我们如何构建应用程序。 日志收集 所有应可能以不同的方式创建日志,有些应用程序直接在文件中记录系统日志和其他日志。 在Linux服务器上运行的典型Web应用程序时,在/ Continue Reading …