1. 洋葱模型

app.use(async (ctx, next)=>{
console.log(1)
await next();
console.log(1)
});
// #2
app.use(async (ctx, next) => {
console.log(2)
await next();
console.log(2)
})
app.use(async (ctx, next) => {
console.log(3)
})
看完这个代码应该就懂了,输出12321
2. 日志
日志对于 Web 开发的重要性毋庸置疑,它对于监控应用的运行状态、问题排查等都有非常重要的意义。
框架内置了强大的企业级日志支持,由 egg-logger 模块提供。
主要特性:
- 日志分级
- 统一错误日志,所有 logger 中使用 .error() 打印的 ERROR 级别日志都会打印到+ 统一的错误日志文件中,便于追踪
- 启动日志和运行日志分离
- 自定义日志
- 多进程日志
- 自动切割日志
- 高性能
所有日志文件默认都放在${appInfo.root}/logs/${appInfo.name}路径下,例如 /home/admin/logs/example-app