阿里巴巴java编码规范——日志规约
目录
强制
推荐
强制
1.应用中不可直接使用日志系统(Log4j、Logback)中的API,而应依赖使用日志框架SLF4J中的API,使用门面模式的日志框架有利于维护并且使各个类的日志处理方式统一。
2.所有日志文件至少保存15天,因为有些异常具备以“周”为频次发横的特点。网络运行状态、安全相关信息、系统监测、管理后台操作、用户敏感操作需要留相关的网络日志不少于6个月。
3.应用中的扩展日志(如打点、临时监控、访问日志等)命令方式:appName_logType_logName.log。其中appName是日志的描述,logType是日志类型,如stats/monitor/access等。通过文件名可以知道日志文件属于什么应用,什么类型、什么目的,有利于归类查找。
4.在日志输出时,字符串变量之间的拼接使用占位符的方式。因为String字符串的拼接会使用StringBuffer的append()方式,有一定的性能损耗。使用占位符仅是替换动作,可以有效提升性能。
5.对于trace/debug/info级别的日志输出,必须进行日志级别的开关判断。虽然在debug的方法体内第一行代码为真时就直接return,但是参数可能会进行字符串拼接运算。此外,如果过debug这种参数内有getName()方法的调用,无谓浪费了方法调用的开销。
6.避免重复打印日志,浪费磁盘空间,务必在log4j.xml中设置additivity=false。
7.异常信息应该包括两类信息:案发现场信息和异常堆栈信息。如果不处理,那么通过关键字throws网上抛出。
推荐
1.谨慎地记录日志。生产环境禁止输出debug日志;有选择地输出info日志;如果使用warn来记录刚上线时的业务行为信息,一定要注意日志输出量的问题,避免把服务器磁盘撑爆,并记得及时删除这些观察日志。
2.可以使用warn日志级别来记录用户输入参数错误的情况,避免用户投诉时无所适从。如非必要,请不要在此场景打印出error级别,避免频繁报警。
3.尽量用英文来描述日志错误信息,如果日志中的错误信息用英文描述不清楚使用中文,否则容易产生歧义。国际化或者海外部署的服务器由于字符集问题,使用全英文来注释和描述日志错误信息。
阿里巴巴java编码规范——日志规约相关推荐
- 阿里巴巴 Java 编码规范最佳实践
概述 最近在实际项目中使用 p3c for eclipse 插件进行检测,发现项目中有不少不符合 "阿里巴巴 Java 编码规范" 的代码,现在已经由之前的 2000+ 个优化到 ...
- 《阿里巴巴JAVA编码规范》阅读理解
https://github.com/alibaba/p3c/ https://github.com/singgel?tab=repositories 前言 2017 年阿里云栖大会,阿里发布了针对 ...
- 阿里巴巴Java开发手册-日志规约
1.[强制] 应用中不可直接使用日志系统(Log4j.Logback)中的API,而应依赖使用的SLF4j中的API.使用门面模式的日志框架吗,有利于维护和各个类的日志处理方式统一. import o ...
- Java编码规范--OOP规约
本文只整理个人觉得需要注意的地方,其他常识性的问题就暂时不整理了. 1.所有复写方法,必须加@Override注解. 说明:getObject()和get0bject()的问题,一个是大写字母O,一个 ...
- Java 编码规范1(编程规约-命名风格)
编程规约-命名风格 其它相关文章 Java 编码规范1(编程规约-命名风格) Java 编码规范2(编程规约-常量定义) Java 编码规范3(编程规约-代码格式) Java 编码规范4(编程规约-O ...
- 解读阿里巴巴 Java 代码规范(2): 从代码处理等方面解读阿里巴巴 Java 代码规范...
前言 2017 年阿里云栖大会,阿里发布了针对 Java 程序员的<阿里巴巴 Java 开发手册(终极版)>,这篇文档作为阿里数千位 Java 程序员的经验积累呈现给公众,并随之发布了适用 ...
- Java编码规范相关-开发手册-IDEA插件-P3C-sonarLint-代码格式化
编码规范 一.大厂的规范手册 1.阿里巴巴<Java开发手册(嵩山版)> 广为流传的手册,我基本每个开发机都会放一本,用来做参考,想起来就看一下,反思自己之前的瑕疵,完善和修正自己的编码习 ...
- 阿里巴巴java开发规范学习
目录 一.编程规约 1.1 命名风格 1.2 常量定义 1.3 代码格式 1.4 OOP规约 1.5 集合处理 二.异常 三.MYSQL数据库 3.1 建表规约 3.2 索引规约 3.3 SQL语句 ...
- 公司让我编写一套自己的【Java 编码规范】作为员工季度考核标准?!参照Alibaba
目录 一.编码规范 (一)命名风格 (二)常量定义 (三)代码格式 (四)OOP规范 (五)集合处理 (六)并发处理 (七)控制语句 (八)注释规范 (九)其它 二.SVN操作规范 三.异常日志 (一 ...
最新文章
- SAP HUM 如何对一个HU做上架?
- 修改域名dns服务器,新网互联域名如何修改DNS设置方法
- C++将数字A转换为数字B所需的翻转次数算法实现(附完整源码)
- 万云:区块链可帮助公证行业创新改革,为互联网公证打下基础
- ACE(Adaptive Communication Environment)介绍
- 统计学基础学习笔记:正态分布
- Android API Guides---Bluetooth
- 【转】linux内核态和用户态的区别
- phpMyAdmin批量修改Mysql数据表前缀的方法
- POJ 2385 DP
- python基础编程语法-1.Python基础语法
- 财务有必要学python吗-会计要学python
- 火到爆的扩散模型(Diffusion Model)帮你具象化幻想世界
- twincat3授权
- 关于unity easy touch 再次进入场景后报错问题
- 苹果 iPhone、Mac日历订阅源收集
- C#从IE浏览器获取Cookie
- 2月15日市场游资操作情况以及龙虎榜
- 英特尔的指令集体系结构_新指令集将上线:Intel 新版指令集手册确认 Alder Lake 架构的存在...
- ENSP网络综合实验
热门文章
- 分享15个全球顶尖的AIGC图片生成平台
- MATLAB | 一起来感受数学之美,第一届迷你黑客大赛回顾
- 马尔可夫网络和贝叶斯网络的一些总结
- jsp+ssm计算机毕业设计网上鞋店管理系统【附源码】
- 德勤全球智慧城市2.0报告!中国占了世界一半
- (更新时间)2021年3月26日 python基础知识(自定义异常)
- 猜生日 今年的植树节(2012年3月12日),小明和他的叔叔还有小伙伴们一起去植树。
- 《现代操作系统(中文第四版)》笔记 第三章 内存管理
- ArcGIS教程之DEM(高程)的应用(坡度坡向、提等高线)
- 教师一定要看的15部电影