conf.go
1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package conf
import (
"encoding/xml"
"io/ioutil"
_ "strings"
"common/logger"
)
type RedisConf struct {
Host string `xml:",attr"`
Db uint32 `xml:",attr"`
Password string `xml:",attr"`
}
type ConiSrvConf struct {
Host string `xml:",attr"`
Key string `xml:",attr"`
}
type TexasConf struct {
ServerHttpAddr ServerHttpAddrConf `xml:"ServerHttpAddr"`
Redis RedisConf `xml:"Redis"`
CoinSrv ConiSrvConf `xml:"CoinSrv"`
}
var (
config = new(TexasConf)
)
func GetCoinConf() ConiSrvConf {
return config.CoinSrv
}
func GetRedisConf() RedisConf {
return config.Redis
}
func LoadConf(filename string) error {
content, err := ioutil.ReadFile(filename)
if err != nil {
logger.Notic("read file:%v error:", filename, err)
return err
}
logger.Info("conf xml:%v", string(content))
err = xml.Unmarshal(content, config)
if err != nil {
logger.Notic("decode xml error:%v", err)
return err
}
DumpConf()
return nil
}
func DumpConf() {
logger.Info("--------------config dump----start--------")
logger.Info("conf=%+v", config)
logger.Info("--------------config dump----end--------")
}
func GetServerHttpAddrConf() string {
return config.ServerHttpAddr.Host
}
type ServerHttpAddrConf struct {
Host string `xml:",attr"`
}