go-zero配置文件模版(后续写代码直接照抄即可)

电路板的制作
go-zero配置⽂件模版后续写代码直接照抄即可)
Name: sms_bot-api
Host: 127.0.0.1
Port:8888
Database:
Pkg:"./internal/svc"
DriverName:"mysql"
DSN:"root:98123456@tcp(192.168.4.240:3306)/qe?charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai"
Logger:
Path:"./tmp/sql.log"电子眼镜
MaxAge:180
Interval:2
Redis:
Host: 192.168.4.240:6379
Pass:""
DB:0
ExpireTime:3
go-zero项⽬中 svc⽬录内容
package svc
import(
"context"
"/go-redis/redis/v8"
_"/go-sql-driver/mysql"
"/kotlin2018/mbt"
rotatelogs "/lestrrat-go/file-rotatelogs"
"io"
"log"
"path"
"sms_bot/internal/config"
"time"
)
英姿带
// 服务依赖项(⽐如说: 加载配置⽂件,数据库连接句柄,⾃定义全局错误信息)
type ServiceContext struct{
Config config.Config
Redis  *redis.Client
}
func NewServiceContext(c config.Config)*ServiceContext {
conf :=&mbt.Database{
Pkg:        c.Database.Pkg,
DriverName: c.Database.DriverName,
DSN:        c.Database.DSN,
Logger:&mbt.Logger{
Path:    c.Logger.Path,
MaxAge:  c.Logger.MaxAge,
Interval: c.Logger.Interval,
PrintSql:true,
},
}
mbt.New(conf).Register(initMapper()).SetOutPut(initLogger(c.Logger.Path, c.Logger.MaxAge, c.Logger.Interval)).Run()
client := redis.NewClient(&redis.Options{
Addr:    c.Redis.Host,
Password: c.Redis.Pass,
DB:      c.Redis.DB,
})
_, err := client.Ping(context.Background()).Result()电线固定座
if err !=nil{
if err !=nil{
log.Fatalln("请配置redis服务")
}
return&ServiceContext{
Config: c,
Redis:  client,
}
}
func initMapper()map[interface{}]interface{}{
h := mbt.H{
&TSmsbotDao:&TSmsbot{},// sms机器⼈表
&TTaskDao:&TTask{},// 任务表
滚装码头&TTaskTypeDao:&TTaskType{},// 任务类型表
}
return h
}
func initLogger(logFilePath string, maxAge, interval int) io.Writer { writer,_:= rotatelogs.New(
path.Join(logFilePath+"-%Y-%m-%d.log"),//拼接成log⽂件名
rotatelogs.WithLinkName(logFilePath),
rotatelogs.WithMaxAge(time.Duration(maxAge)*time.Hour),
rotatelogs.WithRotationTime(time.Duration(interval)*time.Hour), )
数据库探针
return writer
}

本文发布于:2024-09-21 00:28:26,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/101825.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:配置   数据库   句柄   模版   后续
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议