在开发一些大型系统(无论是C/S还是B/S)的时候,在代码中写一定量的log是必要的。其最主要的作用就是记录系统运行状况,方便问题的解析。
摘抄一下孙卫琴的《精通Struts:基于MVC的Java设计与开发》中的说明:
1. 监视代码中变量的变化情况,把数据周期性的记录到文件中供其他应用进行统计分析工作。
2. 跟踪代码运行时轨迹,作为日后审计的依据。
3. 担当集成开发环境中的调试器,向文件或控制台打印代码的调试信息。
小一些的系统可能也会要求写log,这个就看系统的需求了。
根据我现有的经验,写log必须要注意以下几个事项。
1. 注意log级别的使用。
以log4j为例,log4j中的日志级别分为 LOG、DEBUG、INFO、WARN、ERROR、和fatal六个级别。其中系统在正常运行的时候一般会设置为INFO级,而代码中最多使用的log级别为DEBUG级。
如果级别使用混乱的话,比没有使用log还要问题大,因为大量的输出log是要消耗一定性能的。
2. log信息最好包含有类名,方法名等相关信息。便于解析bug的时候定位。
3. 输出的log内容应该为有效信息。输出无效信息不但是一种不遵守编码规范的表现,简直就是一种”犯罪“。
4. 注意输出的log内容的正确