日志配置

请查看API文档:

配置属性

日志相关配置属性如下:

简要说明:

  1. 默认情况下,日志不会输出到文件中,而是直接打印到终端。默认情况下的access日志终端输出是关闭的,仅有error日志默认开启。
  2. 所有的选项均可通过Server.Set*方法设置,大部分选项可以通过Server.Get*方法获取。
  3. LogPath属性用于设置日志目录,只有在设置了日志目录的情况下才会输出日志到日志文件中。
  4. ErrorLogPatternAccessLogPattern用于配置日志文件名称格式,默认为error-{Ymd}.logaccess-{Ymd}.log,例如:error-20191212.log, access-20191212.log
  5. 其他配置选项说明请参考注释和API文档。

官方推荐使用配置文件的方式来管理服务配置以及日志日志配置。 一个参考的日志配置内容示例(以格式为例):

配置方法

日志的配置也可以通过Server对象的Set*方法来进行配置,参考 章节。

日志格式

配置文件的方式比较简单,这里不再示例说明。以下示例通过配置方法的方式进行对Server进行配置。

请求日志:

日志格式:

其中,请求前缀http或者https请求协议往往为HTTP/1.0或者HTTP/1.1

错误日志

错误日志:

错误信息会打印出对应错误产生的堆栈信息(堆栈信息中不包含框架内部调用信息),以便于错误定位以及开发者分析问题原因。

Server产生的任何错误都将会被自动捕获到错误日志中,因此对于业务端程序来讲,无论是在控制器中、业务封装层、数据模型中,如果产生了错误想要直接退出业务请求处理,直接panic即可。

自定义日志处理

开发者可以自定义处理Server的请求日志,方法有两种:

  1. 可以通过日志配置项传递自定义的*glog.Logger对象。
  2. 可以通过中间件来统一捕获处理,参考 路由管理-中间件/拦截器 章节。

Server日志与业务日志

这是一个FAQ

GoFrame框架也提供了日志模块,由glog日志组件实现,开发者通过glog组件打印的日志属于业务日志,程序业务代码可以决定输出什么内容,输出到哪里,输出格式是什么样等。并且常用g.Log()方法来输出业务日志,该方法支持自动读取配置文件中的配置项。具体请参考 日志组件 章节。