日志标准化规范一. 背景随着互联网络的飞速发展,各行各业已经不限于知道信息,更是挖掘、把握住隐藏在信息后面的信息。海量的数据是一种宝贵的财富,如何按照不同维度、各种口径和规则从海量的、隐含的、杂乱的、重复的 web 日志或用户访问信息中发现、提炼、分析、统计出有用的知识和应用价值,进而提高服务质量,改进网站的结构和内容,挖掘出有意义的用户访问模式、规则以及相关的潜在用户群等是一件非常有意义的工作。为实时监控网络的异常状态,跟踪网络应用资源的使用情况,实现对众多设备主机日志信息的集中分析和管控,实现各种日志格式的兼容,准确定位出问题的物理服务器和时间段等,目前南航通过统一集中部署 SpringAOP(kafa/redis)+ Elasticsearch+Logstash+Kibana 日志分析平台实现了对日志收集、存储、搜索、分析、监控及展现,并开放访问接口给开发人员,开发人员以 ELK 日志分析平台的源数据为基础,对数据进行预处理、维度汇总,进而形成行业上的各种指标。ELK 具有强大的搜索和展现功能,它只需安装部署而不需要编写代码,即可进行业务数据分析、错误日志分析及数据预警等。而SpringAop 是 OOP 的延续,它就像刀切豆腐一样横切整个系统,将“关注”封装在切面中,实现了调用者与被调用者之间的解耦合,是需要人工编写相关的代码实现日志的输出的,而在现实中日志记录无统一规范,导致无法准确快速的定位问题或者获取到想要的数据。所以本文将日志的规范重点放在 SpringAop 上。二. 原则1.集中的日志服务器:在 WEB 集群节点越来越多的情况下,让开发及系统维护人员能很方便的查看日志信息。2.日志信息输出策略:日志信息输出全而不乱,便于跟踪和分析问题。3.关键业务的日志输出:基于数据采集、数据核查、系统安全等方面的考虑,关键业务系统对输出的日志信息有特殊的要求,需要做针对性的设计。4.支持备份与保密机制:防止日志丢失,敏感信息应加密,分布式文件系统保证可靠性。三. 日志分类日志文件按应用需求功能分为访问日志、应用日志和系统日志。按等级从低到高分为 TRACE 级、DEBUG 级、INFO 级、WARN级、ERROR 级、FATAL 级六级。1.TRACE 级、DEBUG 级:理论上“不属于错误”,只是打印一些状态、提示信息,以便开发过程中观察,开发完成、正式上线后需要屏蔽。2.INFO 级: 理论上“不属于错误”,只是一些提示性的信息,但是即使在开发完成、正式上线的系统中,也有保留的价值。在...