一般格式:时间 [类名] 方法名 参数 消息
一般日志输出的级别:trace,debug,info,warn,error。
trace级别:用于跟踪方法调用的次序。
用于所有层。
- 每个方法前第一句,需要输出方法名,必要的参数。
- route层访问日志。比如http的请求,websocket的消息。
- 记录必要的中间结果。
debug级别:debug日志主要用于调试。
debug主要用于wrap层,记录最终将要执行的操作。
- 记录sql和参数,记录redis命令和参数,记录文件保存,记录第三方调用和参数。
- 记录所有IO相关的操作。
info级别:重要模块的日志输出。提示非常重要的信息。
info级别主要用于service层。info级别仅仅比warn级别低,重要的信息需要输出。
- 重要事务提交。比如钱相关的操作。
- 重要事情的发生。比如管理员的操作等等。
- 用户异常和危险操作,比如尝试错误的登录。
warn级别:警告,主要记录某些接近某些边界的值,记录比较危险事情的发生。
用于所有层。
- 警告日志需要单独输出到某个文件中。比如系统余额不足。
- 用户异常和危险操作,比如多次尝试登录。
- 使用错误或危险的参数访问。
- 需要记录用户的ip,uid等等相关信息。
- 输出到单独的文件。
error级别:错误
用户业务异常不属于错误,应该记录为warn或者info。这里主要指系统异常,用户无法处理。
需要所有错误都需要记录。
- 保存:堆栈信息、提示信息、全部参数信息、上下文参数等等。
- 保存:用户信息,ip,uid等等
- 通知:单独的输出文件、邮件通知、短信通知等。
- 输出到单独的文件。