config.go 1014 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package config
  2. import (
  3. "log"
  4. "github.com/rotisserie/eris"
  5. "github.com/spf13/viper"
  6. "sikey.com/websocket/utils/configx"
  7. "sikey.com/websocket/utils/zlog"
  8. )
  9. var (
  10. Config configx.Config
  11. Kafka kafka
  12. Redis redis
  13. )
  14. func loadRestfulConfig() error {
  15. return viper.Unmarshal(&Config)
  16. }
  17. func loadKafkaConfig() error {
  18. return viper.UnmarshalKey("kafka", &Kafka)
  19. }
  20. func loadRedisConfig() error {
  21. return viper.UnmarshalKey("redis", &Redis)
  22. }
  23. // MustLoadConfig 加载配置
  24. func MustLoadConfig(file string) {
  25. err := configx.LoadConfig(file,
  26. loadRestfulConfig,
  27. loadKafkaConfig,
  28. loadRedisConfig,
  29. )
  30. if err != nil {
  31. log.Fatalln(eris.Wrap(err, "无法映射配置"))
  32. }
  33. log.Printf("Load configs [ toml ] from path [%s] \n", file)
  34. }
  35. // MustLoadLogger 初始化日志
  36. func MustLoadLogger() zlog.Writer {
  37. var (
  38. name = Config.Name
  39. env = Config.Environment
  40. path = viper.GetString("log.path")
  41. )
  42. writer, err := zlog.NewZeroWriter(name, path, env)
  43. if err != nil {
  44. panic(err)
  45. }
  46. return writer
  47. }