error_handle

package
v0.0.0-...-07ef6c8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 26, 2023 License: Artistic-2.0 Imports: 16 Imported by: 0

README

增加了错误输出功能

添加环境变量ERRORHANDLE_RECEIVER
   添加接收错误告警的邮件列表,多个列表用英文逗号分隔开
新增ERRORHANDLE_LOGOPATH
  邮件里面显示logo

添加环境变量ERRORHANDLE_DINGTALK
  添加接收错误告警的钉钉群url,目前支持单个钉钉群

环境变量新增ERRORHANDLE_LOGPATH
  添加接收错误告警,记录到日志

使用方法
  引入模块 gitee.com/furyamber/seal_common/error_handle
  代码中使用
  error_handle.Handle(err, error_handle.FlagDisableFmt, error_handle.LevelWarn)
  发送告警信息

  第一个参数对应错误err,
  第二个参数 对应几个flag,如果多个可以用FlagOnlyFmt+FlagDisableStack这样调用
    - FlagDefault 默认所有的方式只要环境变量存在就会通过相应的方法发送告警信息
    - FlagOnlyFmt 只在标准输出打印,其他的不执行
    - FlagDisableFmt 除了标准输出,其他都执行
    - FlagDisableStack 禁用追踪堆栈,只显示基本的错误
  第三个参数对应 错误等级
    - LevelInfo 友好的提示信息
    - LevelWarn 告警信息,告警字体颜色加深
    - LevelFatal 执行完成后将调用os.Exit()退出程序

Documentation

Index

Constants

View Source
const (
	FlagDefault = 0
	FlagOnlyFmt = 1 << iota
	FlagDisableFmt
	FlagDisableStack

	LevelInfo  string = "info"  //black
	LevelWarn  string = "warn"  //cyrn
	LevelFatal string = "fatal" //red

	Title string = "golang程序报警"
)

Variables

This section is empty.

Functions

func GetStack

func GetStack() []byte

func Handle

func Handle(in error, flag int, level string)

func HandleString

func HandleString(in string, flag int, level string)

Types

type ErrorHandle

type ErrorHandle interface {
	//Handle(in error,flag int) error
	//HandleBytes(in []byte,flag int,level string)
	HandleString(in string, flag int, level string)
}

type HandlerManage

type HandlerManage interface {
	Add(method string, eh ErrorHandle)
	Handle(in error, flag int, level string)
	HandleString(in string, flag int, level string)
	DisplayHandler() string
}
var (
	GlobalManager HandlerManage
)

type HandlerManager

type HandlerManager struct {
	HandlerMap map[string]ErrorHandle
}

func NewHandlerManager

func NewHandlerManager() *HandlerManager

func (*HandlerManager) Add

func (hm *HandlerManager) Add(method string, eh ErrorHandle)

func (*HandlerManager) DisplayHandler

func (hm *HandlerManager) DisplayHandler() string

func (*HandlerManager) Handle

func (hm *HandlerManager) Handle(in error, flag int, level string)

func (*HandlerManager) HandleString

func (hm *HandlerManager) HandleString(in string, flag int, level string)

type MailData

type MailData struct {
	LogoUrl    string          `json:"logo_url"`
	Subject    string          `json:"subject"`
	CreateTime string          `json:"create_time"`
	Hostname   string          `json:"hostname"`
	PrivateIp  string          `json:"private_ip"`
	Lines      []template.HTML `json:"lines"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL