日志切割任务报错:
2019-03-16 00:00:01,003 ERROR 66 nodejs.TypeError [ERR_INVALID_ARG_TYPE]: [egg-schedule] /app/node_modules/egg-logrotator/app/schedule/rotate_by_file.js execute error
. The "path" argument must be of type string. Received type undefined
at assertPath (path.js:39:11)
at Object.join (path.js:1155:7)
at DayRotator.getRotateFiles (/app/node_modules/egg-logrotator/app/lib/day_rotator.js:39:24)
at DayRotator.rotate (/app/node_modules/egg-logrotator/app/lib/rotator.js:22:30)
at task (/app/node_modules/egg-logrotator/app/schedule/rotate_by_file.js:17:21)
at Messenger.app.messenger.on.data (/app/node_modules/egg-schedule/app.js:71:5)
at Messenger.emit (events.js:182:13)
at Messenger.EventEmitter.emit (domain.js:442:20)
at Messenger._onMessage (/app/node_modules/egg/lib/core/messenger.js:116:12)
at process.emit (events.js:187:15)
at process.EventEmitter.emit (domain.js:442:20)
at emit (internal/child_process.js:812:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
pid: 66
hostname: xx-8494785676-np5w8
启动日志中logger配置:
2019-02-21 18:20:30,350 INFO 60 [egg:logger] init all loggers with options: {"dir":"/root/logs/xx-server","encoding":"utf8","env":"prod","level":"INFO","consol
eLevel":"INFO","disableConsoleAfterReady":false,"outputJSON":false,"buffer":true,"appLogName":"xx-server-web.log","coreLogName":"egg-web.log","agentLogName":"e
gg-agent.log","errorLogName":"common-error.log","coreLogger":{},"allowDebugAtProd":false,"type":"application"}
格式化后:
{
agentLogName: "egg-agent.log"
allowDebugAtProd: false
appLogName: "xx-server-web.log"
buffer: true
consoleLevel: "INFO"
coreLogName: "egg-web.log"
coreLogger: {}
dir: "/root/logs/xx-server"
disableConsoleAfterReady: false
encoding: "utf8"
env: "prod"
errorLogName: "common-error.log"
level: "INFO"
outputJSON: false
type: "application"
}
- 在docker容器中执行,第一次同时几个服务都出现此问题
- 日志能正常按默认方式切割
- Node Version: v10.13.0
- Egg Version: 2.14.0
- Plugin Name: egg-logrotator
- Plugin Version: 3.0.4
- Platform: Linux(docker容器内)