karin-pluginkkk
功能特性

全局错误处理机制

自动错误捕获与可视化反馈系统

你在使用 其他的一些视频解析工具时,可能会遇到命令偶尔报错,想第一时间知道是哪里炸了,可是你没有时间去排查,即使你有时间,也要进入服务器查看对应的上下文日志、调用栈等信息,才能定位问题,并把问题通过 Github Issue 或者 聊天群聊报告给开发者。

本页解决了以下生产环境中的痛点:

凡是由本插件的命令执行出错时,会自动捕获异常信息并渲染错误图片反馈给用户或者主人(可通过插件配置控制),并且附带上详细的下文和调用栈所打印的 Debug 等级日志。

架构概览

机制特性

错误处理包装器

wrapWithErrorHandler 包装命令处理函数,出错时自动渲染错误图片:

import , { type  } from 'node-karin'

const  = (
  async () => {
    // 业务逻辑,异常会被自动捕获
    return true
  },
  { : '功能名称' }
)

.(/^#命令$/, )

上下文日志追踪

基于 @karinjs/log4jsrunContext API,自动收集执行期间的所有日志,方便排查问题。

import {  } from 'node-karin'

const  = .(async () => {
  /* 业务逻辑 */
})
await .()
const  = .() // 获取执行期间的日志

错误图片示例

图片包含:错误类型、调用栈、业务名称、触发命令、执行日志、版本信息。

Last updated on