java日志小记
常用日志框架
slf4j,logback,commons-logging,log4j,jdk自带logging等。
一般要记录的日志
重要的业务逻辑、程序异常、记录类(如方法执行时间)及安全审计日志等。
注意
- 不要使用System.out或System.err记录日志,不方便管理
- 程序异常若为用户异常(如用户密码错误)没记录必要,多了影响真正异常的阅读;
- 日志记录信息要完整,必要的业务数据要记录在日志中;
- 日志级别要合理,要进行合理分类输出;
- 新上线服务器做好日志分析,以确认新功能是否正常;
- 异常不要记录后又重新向外抛出;
- 对于分布式服务,日志要能定位到具体服务器,同时可开启其中一台服务器日志DEBUG级别好进行观察;
- 做好日志监控报警,比用户先发现问题;
- 规划好日志切分、删除工作。
个人常用日志框架
slf4j+logback
logback日志等级:TRACE<DEBUG<INFO<WARN<ERROR
配置文件一般classpath下建logback.xml即可,详见官方文档。
logback中3个重要的概念(其他框架也差不多):Logger,Appender,Layout
- Logger:日志记录器,把它关联到应用对应的context上后,主要用于存放日志对象,定义日志类型、级别。
- Appender: 指定日志输出的目的地,目的地可以是控制台,文件,或者数据库等。
- Layout:负责把事件转换成字符串,格式化日志信息的输出
基础配置文件:
1 | <configuration> |