inits.go 2.75 KB
package dto

import (
	"apigame/service/constd"
	"apigame/util/util-lx/lxalilog"
	"apigame/util/util-lx/lxbeego"
	"apigame/util/util-lx/lxmysql"
	"fmt"
	"github.com/astaxie/beego"
	lalilog "github.com/lixu-any/go-tools/ali/log"
)

func Inits() (err error) {

	appname := beego.AppConfig.String("appname")

	// 初始化日志文件
	logconfig, _ := beego.AppConfig.GetSection("log")
	logconfig["filename"] = logconfig["path"] + "api.log"

	if err = lxbeego.Inits(logconfig); err != nil {
		fmt.Println("lxbeelog.Inits Error::" + err.Error())
	}

	fmt.Println(appname + " beelog init success")

	////初始化Redis
	//redisconfig, _ := beego.AppConfig.GetSection("redis")
	//var mredisconfig lxredis.MapRedisConfig
	//err = mapstructure.Decode(redisconfig, &mredisconfig)
	//if err != nil {
	//	fmt.Println(" mapstructure.Decode Error::" + err.Error())
	//} else {
	//	err = lxredis.InitRedis(mredisconfig)
	//	if err != nil {
	//		fmt.Println("  lxredis.InitRedis Error::" + err.Error())
	//		return err
	//	}
	//}
	//
	//fmt.Println(appname + " redis init success")

	//初始化MYSQL
	var conns []lxmysql.MapMysqlConn

	//默认数据库
	conns = append(conns, lxmysql.MapMysqlConn{
		Name:   constd.MYSQL_DEFAULT,
		SqlCon: beego.AppConfig.String("mysql::mergecommon"),
	})

	conns = append(conns, lxmysql.MapMysqlConn{
		Name:   constd.MYSQL_MERGECONFIG,
		SqlCon: beego.AppConfig.String("mysql::" + constd.MYSQL_MERGECONFIG),
	})

	err = lxmysql.InitMysqls(conns, beego.AppConfig.String("redis::cachedb"))
	if err != nil {
		fmt.Println("  InitMysqls Error::" + err.Error())
	}

	for _, conn := range conns {
		fmt.Println(appname + " dbs::" + conn.Name + " init success")
	}

	initAlilog(appname)

	//// 初始化数数打点
	//_ = thinkingdata.InitThinkData()
	//
	//_ = config.InitLxLimit()

	// dto
	InitDto()

	return
}

func initAlilog(appname string) {

	//初始化阿里云日志
	logm, _ := beego.AppConfig.GetSection("alilog")
	lxalilog.InitAliLog(lxalilog.MapAlilogConfig{
		Endpoint:        logm["endpoint"],
		AccessKeyId:     logm["accesskeyid"],
		AccessKeySecret: logm["accesskeysecret"],
		Project:         logm["project"],
		AppNaame:        appname,
		On:              logm["on"],
		Debug:           logm["debug"],
		TableError:      "api_code_merge",
		TableDebug:      logm["tabledebug"],
		Env:             beego.AppConfig.String("env"),
	})

	lalilog.InitAliLog(lalilog.MapAlilogConfig{
		Endpoint:        logm["endpoint"],
		AccessKeyId:     logm["accesskeyid"],
		AccessKeySecret: logm["accesskeysecret"],
		Project:         logm["project"],
		On:              logm["on"],
		Debug:           logm["debug"],
		TableError:      logm["tableerror"],
		TableDebug:      logm["tabledebug"],
		Env:             beego.AppConfig.String("env"),
	})

	fmt.Println(appname + " alilog init success")
}