init.go 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package init
  2. import (
  3. "app.yhyue.com/moapp/jybase/mongodb"
  4. "app.yhyue.com/moapp/jybase/mysql"
  5. "app.yhyue.com/moapp/jybase/redis"
  6. "bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/entity"
  7. "bp.jydev.jianyu360.cn/SocialPlatform/messageCenter/rpc/messagecenter/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/logx"
  12. "log"
  13. "strings"
  14. )
  15. var (
  16. MainMysql *mysql.Mysql
  17. BaseMysql *mysql.Mysql
  18. SurvivalTime int
  19. Mgo mongodb.MongodbSim
  20. )
  21. var configF = flag.String("ff", "etc/messagecenter.yaml", "the config file")
  22. var C config.Config
  23. var logFile = flag.String("lf", "etc/logs.yaml", "the config file")
  24. var logc entity.Logc
  25. var dbFile = flag.String("df", "etc/db.yaml", "the db file")
  26. var DB config.Db
  27. func init() {
  28. conf.MustLoad(*configF, &C)
  29. //初始化日志信息
  30. conf.MustLoad(*logFile, &logc)
  31. if len(logc.Level) > 0 {
  32. for _, v := range logc.Level {
  33. logx.MustSetup(logx.LogConf{
  34. Mode: logc.Mode,
  35. Path: logc.Path,
  36. Level: v,
  37. KeepDays: logc.KeepDays,
  38. })
  39. logx.Info(v, "--日志记录")
  40. }
  41. }
  42. conf.MustLoad(*dbFile, &DB)
  43. //初始化mysql
  44. if DB.Mysql.Main.Address != "" {
  45. log.Println("--初始化 mysql--")
  46. MainMysql = &mysql.Mysql{
  47. Address: DB.Mysql.Main.Address,
  48. UserName: DB.Mysql.Main.UserName,
  49. PassWord: DB.Mysql.Main.Password,
  50. DBName: DB.Mysql.Main.DbName,
  51. MaxOpenConns: DB.Mysql.Main.MaxOpenConns,
  52. MaxIdleConns: DB.Mysql.Main.MaxIdleConns,
  53. }
  54. MainMysql.Init()
  55. }
  56. if DB.Mysql.BaseService.Address != "" {
  57. log.Println("--初始化 mysql--")
  58. BaseMysql = &mysql.Mysql{
  59. Address: DB.Mysql.BaseService.Address,
  60. UserName: DB.Mysql.BaseService.UserName,
  61. PassWord: DB.Mysql.BaseService.Password,
  62. DBName: DB.Mysql.BaseService.DbName,
  63. MaxOpenConns: DB.Mysql.BaseService.MaxOpenConns,
  64. MaxIdleConns: DB.Mysql.BaseService.MaxIdleConns,
  65. }
  66. BaseMysql.Init()
  67. }
  68. //初始化数据库配置
  69. rm := DB.Redis
  70. if len(rm.Addr) > 0 {
  71. logx.Info("--初始化 redis--")
  72. redis.InitRedisBySize(strings.Join(rm.Addr, ","), 100, 30, 300)
  73. }
  74. if DB.Mongo.Main.Address != "" {
  75. logx.Info("--初始化 mongodb--")
  76. Mgo = mongodb.MongodbSim{
  77. MongodbAddr: DB.Mongo.Main.Address,
  78. Size: DB.Mongo.Main.Size,
  79. DbName: DB.Mongo.Main.DbName,
  80. }
  81. Mgo.InitPool()
  82. }
  83. SurvivalTime = C.SurvivalTime
  84. }