init.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package init
  2. import (
  3. elastic "app.yhyue.com/moapp/jybase/esv1"
  4. "app.yhyue.com/moapp/jybase/mysql"
  5. "bp.jydev.jianyu360.cn/BaseService/userCenter/rpc/usercenter"
  6. "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/entity"
  7. "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/internal/config"
  8. "flag"
  9. _ "github.com/go-sql-driver/mysql"
  10. "github.com/zeromicro/go-zero/core/conf"
  11. "github.com/zeromicro/go-zero/core/discov"
  12. "github.com/zeromicro/go-zero/core/logx"
  13. "github.com/zeromicro/go-zero/zrpc"
  14. "log"
  15. )
  16. var C config.Config
  17. var Logc entity.Logc
  18. var configF = flag.String("ff", "etc/knowledge.yaml", "the config file")
  19. //
  20. var logFile = flag.String("lf", "etc/logs.yaml", "the config file")
  21. func init() {
  22. conf.MustLoad(*configF, &C)
  23. //初始化mysql
  24. mm := C.MysqlMain
  25. if mm.Address != "" {
  26. log.Println("--初始化 mysql--")
  27. entity.Mysql = &mysql.Mysql{
  28. Address: mm.Address,
  29. UserName: mm.UserName,
  30. PassWord: mm.PassWord,
  31. DBName: mm.DbName,
  32. MaxOpenConns: mm.MaxOpenConns,
  33. MaxIdleConns: mm.MaxIdleConns,
  34. }
  35. entity.Mysql.Init()
  36. }
  37. //初始化 elasticsearch
  38. es := C.Es
  39. if es.Addr != "" {
  40. log.Println("--初始化 elasticsearch--")
  41. log.Println(es.Addr, es.Size)
  42. elastic.InitElasticSize(es.Addr, es.Size)
  43. }
  44. //初始化日志信息
  45. conf.MustLoad(*logFile, &Logc)
  46. if len(Logc.Level) > 0 {
  47. for _, v := range Logc.Level {
  48. logx.MustSetup(logx.LogConf{
  49. Mode: Logc.Mode,
  50. Path: Logc.Path,
  51. Level: v,
  52. KeepDays: Logc.KeepDays,
  53. })
  54. logx.Info(v, "--日志记录")
  55. }
  56. }
  57. //初始化资源中台相关
  58. userCenterClient := zrpc.MustNewClient(zrpc.RpcClientConf{
  59. Etcd: discov.EtcdConf{
  60. Hosts: C.UserCenterConf.Etcd.Hosts,
  61. Key: C.UserCenterConf.Etcd.Key,
  62. },
  63. })
  64. entity.UserCenterLib = usercenter.NewUserCenter(userCenterClient)
  65. }