egg-error-display
TypeScript icon, indicating that this package has built-in type declarations

1.5.9 • Public • Published

egg-error-display

Allow customizing the default egg-onerror's definition of isProd (线上 !== 生产)

NPM version Build Status Build Status Build status codecov David deps Known Vulnerabilities npm download

Quality gate

Why

egg 项目本地跑起来后,如果有报错,会展示非常详细的错误堆栈。但是一旦发布到线上,就只会显示一个出错了,但是具体信息被隐藏了。

原因是 egg 默认的错误处理插件 egg-onerror 只对 app.envlocal 或者 unittest 的情况展示详细信息,其他环境都被认为是生产环境,所以隐藏了错误堆栈。(了解更多

我认为,生产环境的确应该隐藏详细错误信息,要查问题应该看日志。但是并不是所有线上环境都为生产环境,应当允许开发者打开"展示详细错误"选项。所以开发这个插件来完成这件事情。

Functionality

  • 允许自定义 isProd 函数,用来确定当前 app 是否是生产环境。

Install

$ npm i egg-error-display --save

Usage

  1. Enable it on plugin configuration:
// {app_root}/config/plugin.[t|j]s
exports.onError = {
  enable: true,
  package: "egg-error-display"
};
  1. Configure the isProd function:
// {app_root}/config/config.default.[t|j]s
exports.onError = {
    isProd: (app: Application) => app.env === 'prod'
};

see config/config.default.ts for more detail.

Questions & Suggestions

Please open an issue here.

License

MIT

Test

npm run test-local

Release Notes:

Package Sidebar

Install

npm i egg-error-display

Weekly Downloads

0

Version

1.5.9

License

MIT

Unpacked Size

24.9 kB

Total Files

9

Last publish

Collaborators

  • jeff-tian