为了账号安全,请及时绑定邮箱和手机立即绑定

【金秋打卡】第2天 eggjs 调试技巧

标签:
Node.js

课程名称web前端架构师

课程章节:第14周 第四章 egg基础知识

主讲老师:张轩

课程内容: eggjs 调试技巧

eggjs 调试技巧

在我们开发过程中,我们可能需要知道代码执行过程中的信息,我们可以使用在代码中使用 console.log 进行打印

框架内置了功能强大的日志功能,可以非常方便的打印各种级别的日志到对应的日志文件中,每一个 logger 对象都提供了 4 个级别的方法(级别从低到高):

  • logger.debug()
  • logger.info()
  • logger.warn()
  • logger.error()
import { Controller } from 'egg';

export default class HomeController extends Controller {
  public async index() {
    const { ctx } = this;
    ctx.body = await ctx.service.test.sayHi('egg');
    ctx.logger.error('err info');
  }
}

相关文档链接

使用 vscode 进行断点调试

在项目根目录下的 .vscode 文件夹下(没有就创建该文件)新建文件launch.json

配置如下

// .vscode/launch.json
{
  "configurations": [
    {
      "name": "Launch Egg",
      "type": "node",
      "request": "launch",
      "cwd": "${workspaceRoot}",
      "runtimeExecutable": "npm",
      "runtimeArgs": [ "run", "debug" ],
      "console": "integratedTerminal",
      "restart": true,
      "autoAttachChildProcesses": true
    }
  ]
}

然后在 vscode 中将我们所需要的代码打个断点就可以了(点击调试代码的最左边,即行号左边,点击后会出现一个红点)

也可以设置 vscode debug:Auto Attach: Smart ,这个使用起来也非常方便,随便写个 js 代码就可以使用 node进行调试,但是当我们调试整个项目时,还是使用 vscode 配置文件会更好

日志

日志路径

所有日志文件默认都放在 ${appInfo.root}/logs/${appInfo.name}路径下,例如 /home/admin/logs/example-app
在本地开发环境 (env: local) 和单元测试环境 (env: unittest),为了避免冲突以及集中管理,日志会打印在项目目录下的 logs 目录,例如 /path/to/example-app/logs/example-app

日志分类

框架内置了几种日志,分别在不同的场景下使用:

  • appLogger ${appInfo.name}-web.log,例如 example-app-web.log,应用相关日志,供应用开发者使用的日志。我们在绝大数情况下都在使用它。
  • coreLogger egg-web.log 框架内核、插件日志。
  • errorLogger common-error.log 实际一般不会直接使用它,任何 logger 的 .error() 调用输出的日志都会重定向到这里,重点通过查看此日志定位异常。
  • agentLogger egg-agent.log agent 进程日志,框架和使用到 agent 进程执行任务的插件会打印一些日志到这里。

其他信息可以参考官方文档。https://www.eggjs.org/zh-CN/core/logger

图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Python工程师
手记
粉丝
2
获赞与收藏
1

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消