1.选择恰当的日志级别 error warn info debug 2.日志要打印出参入参数 方便甩锅 3.选择合适的日志格式 时间戳 线程名字 日志级别等 4.if-else ,switch 等分支语句都建议打印日志,方便排查 5.对一些比较低的日志级别进行判断,使用log.isXXXX()方法判断
如果日志不被记录,但是日志内的字符拼接,对象的toString方法也会执行,浪费性能 6.不建议直接使用log4j ,logback等日志系统,建议使用slf4j框架,方便统一处理 7.建议使用参数占位符{},而不是 拼接,简洁且提升性能 8.建议使用异步日志,能有效提升IO性能 9.不要使用e.printStackTrace ()打印错误信息,因为太多信息,且是堆栈信息,会使得内存溢出 10.异常不要只打一半,要完成输出 11.禁止在线上开启debug 会把磁盘打满 12.不要记录了异常,又抛出异常 13.避免重复打印日志,浪费磁盘空间 14.日志文件分离,不同级别日志存放在不同文件中 15.核心功能模块,建议打印详细的日志