Example #1
0
// NewMongoStore 创建基于MongoDB存储的实例
func NewMongoStore(cfg log.MongoConfig) log.LogStore {
	if cfg.URL == "" {
		cfg.URL = log.DefaultMongoURL
	}
	if cfg.DBTmpl == "" {
		cfg.DBTmpl = log.DefaultMongoDBTmpl
	}
	if cfg.CollectionTmpl == "" {
		cfg.CollectionTmpl = log.DefaultMongoCollectionTmpl
	}
	session, err := mgo.Dial(cfg.URL)
	if err != nil {
		panic(err)
	}
	return &MongoStore{
		session:        session,
		dbTmpl:         template.Must(template.New("").Parse(cfg.DBTmpl)),
		collectionTmpl: template.Must(template.New("").Parse(cfg.CollectionTmpl)),
	}
}