日志功能依赖配置项
app.serviceCode
业务组件包自动集成了记录访问日志的功能
服务器环境下访问日志位于 /home/logs/%serviceCode%/access.log.%DATE%
下
开发环境日志记录在项目目录的 logs/access.log.%DATE%
文件夹
pattern 正则:
\[(?<time>[\S-\s]*)\]\s\[(?<traceId>\S*)\]\s\[(?<level>\S*)\]\s\[(?<pid>\S*)\]\s(?<method>\S+)\s(?<path>\S*)\s(?<httpVersion>\S*)\s(?<responseTime>\S*)\s(?<status>\S*)\s(?<referer>\S*)\s(?<email>\S*)\s\"(?<clientIp>[\S-\s]*)\"\s\"(?<userAgent>[\S-\s]*)\"
日志格式:
[%d{dd/MM/yyyy:hh:mm:ss +T}] [%x{traceId}] [%p] [%z] %x{method} %x{path} %x{httpVersion} %x{responseTime} %x{status} %x{referer} %x{email} %x{clientIp} "%x{userAgent}" %n
含义:
[时间] [traceId] [日志状态] [进程id] method path httpVersion responseTime花费时间 状态码 referer 用户email 客户端的ip userAgent
输出样例:
[28/Jul/2019:23:59:47 +0800] [null] [INFO] [1710] GET /i/health HTTP/1.1 0 200 null null "::ffff:10.200.150.230" "Consul Health Check"
如果对应的字段无,输出为null
作为占位符。
访问日志无需干预
服务器环境下访问日志位于 /home/logs/%serviceCode%/stat.log.%DATE%
下
开发环境日志记录在项目目录的 logs/stat.log.%DATE%
文件夹
使用
import { Controller, Get, Autowired } from '@tiger/common'
import { StatLogger } from '@tiger/base-provider'
@Controller()
export class ExampleController {
@Autowired
statLogger: StatLogger;
@Get()
index() {
return this.statLogger.info('Hi! stat logger!')
}
}
服务器环境下访问日志位于 /home/logs/%serviceCode%/app.log.%DATE%
下
开发环境日志记录在项目目录的 logs/app.log.%DATE%
文件夹
使用
import { Controller, Get, Autowired } from '@tiger/common'
import { AppLogger } from '@tiger/base-provider'
@Controller()
export class ExampleController {
@Autowired
appLogger: AppLogger;
@Get()
index() {
return this.appLogger.info('Hi! app logger!')
}
}