当前位置: 首页>>代码示例>>Golang>>正文


Golang logrus_mate.Options类代码示例

本文整理汇总了Golang中github.com/gogap/logrus_mate.Options的典型用法代码示例。如果您正苦于以下问题:Golang Options类的具体用法?Golang Options怎么用?Golang Options使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Options类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: NewSlackHook

func NewSlackHook(options logrus_mate.Options) (hook logrus.Hook, err error) {
	conf := SlackHookConfig{}

	if err = options.ToObject(&conf); err != nil {
		return
	}

	levels := []logrus.Level{}

	if conf.Levels != nil {
		for _, level := range conf.Levels {
			if lv, e := logrus.ParseLevel(level); e != nil {
				err = e
				return
			} else {
				levels = append(levels, lv)
			}
		}
	}

	if len(levels) == 0 && conf.Levels != nil {
		levels = append(levels, logrus.ErrorLevel, logrus.PanicLevel, logrus.FatalLevel)
	}

	hook = &slackrus.SlackrusHook{
		HookURL:        conf.URL,
		AcceptedLevels: levels,
		Channel:        conf.Channel,
		IconEmoji:      conf.Emoji,
		Username:       conf.Username,
	}

	return
}
开发者ID:gogap,项目名称:logrus_mate,代码行数:34,代码来源:slack_hook.go

示例2: NewRedisIOWriter

func NewRedisIOWriter(options logrus_mate.Options) (writer io.Writer, err error) {
	conf := RedisIOConfig{}

	if err = options.ToObject(&conf); err != nil {
		return
	}

	if conf.ListName == "" {
		err = errors.New("logurs mate: redisio's list name is empty")
		return
	}

	if conf.Network == "" {
		conf.Network = "tcp"
	}

	if conf.Address == "" {
		conf.Address = "127.0.0.1:6379"
	}

	var redisCli *redis.Client

	redisOpt := &redis.Options{
		Network:  conf.Network,
		Addr:     conf.Address,
		Password: conf.Password,
		DB:       conf.Db,
	}

	redisCli = redis.NewClient(redisOpt)

	writer, err = redisio.NewWriter(redisCli, conf.ListName)
	return
}
开发者ID:gogap,项目名称:logrus_mate,代码行数:34,代码来源:redisio_writer.go

示例3: NewSyslogHook

func NewSyslogHook(options logrus_mate.Options) (hook logrus.Hook, err error) {
	conf := SyslogHookConfig{}
	if err = options.ToObject(&conf); err != nil {
		return
	}

	return logrus_syslog.NewSyslogHook(
		conf.Network,
		conf.Address,
		toPriority(conf.Priority),
		conf.Tag)
}
开发者ID:gogap,项目名称:logrus_mate,代码行数:12,代码来源:syslog_hook.go

示例4: NewAirbrakeHook

func NewAirbrakeHook(options logrus_mate.Options) (hook logrus.Hook, err error) {
	conf := AirbrakeHookConfig{}
	if err = options.ToObject(&conf); err != nil {
		return
	}

	hook = airbrake.NewHook(
		int64(conf.ProjectId),
		conf.APIKey,
		conf.Env)

	return
}
开发者ID:gogap,项目名称:logrus_mate,代码行数:13,代码来源:airbrake.go

示例5: NewGraylogHook

func NewGraylogHook(options logrus_mate.Options) (hook logrus.Hook, err error) {
	conf := GraylogHookConfig{}

	if err = options.ToObject(&conf); err != nil {
		return
	}

	hook = graylog.NewAsyncGraylogHook(
		conf.Address,
		conf.Extra)

	return
}
开发者ID:gogap,项目名称:logrus_mate,代码行数:13,代码来源:graylog_hook.go

示例6: NewMailHook

func NewMailHook(options logrus_mate.Options) (hook logrus.Hook, err error) {
	conf := MailHookConfig{}
	if err = options.ToObject(&conf); err != nil {
		return
	}

	hook, err = logrus_mail.NewMailAuthHook(
		conf.AppName,
		conf.Host,
		conf.Port,
		conf.From,
		conf.To,
		conf.Username,
		conf.Password)

	return
}
开发者ID:gogap,项目名称:logrus_mate,代码行数:17,代码来源:mail_hook.go

示例7: NewBugsnagHook

func NewBugsnagHook(options logrus_mate.Options) (hook logrus.Hook, err error) {
	conf := BugsnagHookConfig{}

	if err = options.ToObject(&conf); err != nil {
		return
	}

	bugsnag.Configure(bugsnag.Configuration{
		Endpoint:     conf.Endpoint,
		ReleaseStage: conf.ReleaseStage,
		APIKey:       conf.APIKey,
		Synchronous:  conf.Synchronous,
	})

	hook, err = logrus_bugsnag.NewBugsnagHook()
	return
}
开发者ID:gogap,项目名称:logrus_mate,代码行数:17,代码来源:bugsnag_hook.go


注:本文中的github.com/gogap/logrus_mate.Options类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。