mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-05-12 14:51:14 +08:00
simplify init logging
This commit is contained in:
parent
13b2aa675f
commit
46ee4e41a1
@ -648,7 +648,7 @@ func unmarshalConfig(config interface{}, configName string) {
|
|||||||
} else {
|
} else {
|
||||||
bytes, err := ioutil.ReadFile(fmt.Sprintf("../config/%s", configName))
|
bytes, err := ioutil.ReadFile(fmt.Sprintf("../config/%s", configName))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err.Error())
|
panic(err.Error() + configName)
|
||||||
}
|
}
|
||||||
if err = yaml.Unmarshal(bytes, config); err != nil {
|
if err = yaml.Unmarshal(bytes, config); err != nil {
|
||||||
panic(err.Error())
|
panic(err.Error())
|
||||||
|
@ -46,10 +46,10 @@ func key(dbAddress, dbName string) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
//log.NewPrivateLog(constant.LogFileName)
|
|
||||||
var mongoClient *mongo.Client
|
var mongoClient *mongo.Client
|
||||||
var err1 error
|
var err1 error
|
||||||
//mysql init
|
fmt.Println("init mysql redis mongo ")
|
||||||
|
defer fmt.Println("init mysql redis mongo ok ")
|
||||||
initMysqlDB()
|
initMysqlDB()
|
||||||
// mongo init
|
// mongo init
|
||||||
// "mongodb://sysop:moon@localhost/records"
|
// "mongodb://sysop:moon@localhost/records"
|
||||||
@ -84,45 +84,34 @@ func init() {
|
|||||||
|
|
||||||
mongoClient, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri))
|
mongoClient, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(" mongo.Connect failed, try ", utils.GetSelfFuncName(), err.Error(), uri)
|
|
||||||
time.Sleep(time.Duration(30) * time.Second)
|
time.Sleep(time.Duration(30) * time.Second)
|
||||||
mongoClient, err1 = mongo.Connect(context.TODO(), options.Client().ApplyURI(uri))
|
mongoClient, err1 = mongo.Connect(context.TODO(), options.Client().ApplyURI(uri))
|
||||||
if err1 != nil {
|
if err1 != nil {
|
||||||
fmt.Println(" mongo.Connect retry failed, panic", err.Error(), uri)
|
panic(err1.Error() + " mongo.Connect failed " + uri)
|
||||||
panic(err1.Error())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fmt.Println("mongo driver client init success: ", uri)
|
|
||||||
// mongodb create index
|
// mongodb create index
|
||||||
if err := createMongoIndex(mongoClient, cSendLog, false, "send_id", "-send_time"); err != nil {
|
if err := createMongoIndex(mongoClient, cSendLog, false, "send_id", "-send_time"); err != nil {
|
||||||
fmt.Println("send_id", "-send_time", "index create failed", err.Error())
|
panic(err.Error() + " index create failed " + cSendLog + " send_id, -send_time")
|
||||||
panic(err.Error())
|
|
||||||
}
|
}
|
||||||
if err := createMongoIndex(mongoClient, cChat, false, "uid"); err != nil {
|
if err := createMongoIndex(mongoClient, cChat, false, "uid"); err != nil {
|
||||||
fmt.Println("uid", " index create failed", err.Error())
|
fmt.Println(err.Error() + " index create failed " + cChat + " uid ")
|
||||||
//panic(err.Error())
|
|
||||||
}
|
}
|
||||||
if err := createMongoIndex(mongoClient, cWorkMoment, true, "-create_time", "work_moment_id"); err != nil {
|
if err := createMongoIndex(mongoClient, cWorkMoment, true, "-create_time", "work_moment_id"); err != nil {
|
||||||
fmt.Println("-create_time", "work_moment_id", "index create failed", err.Error())
|
panic(err.Error() + "index create failed " + cWorkMoment + " -create_time, work_moment_id")
|
||||||
panic(err.Error())
|
|
||||||
}
|
}
|
||||||
if err := createMongoIndex(mongoClient, cWorkMoment, true, "work_moment_id"); err != nil {
|
if err := createMongoIndex(mongoClient, cWorkMoment, true, "work_moment_id"); err != nil {
|
||||||
fmt.Println("work_moment_id", "index create failed", err.Error())
|
panic(err.Error() + "index create failed " + cWorkMoment + " work_moment_id ")
|
||||||
panic(err.Error())
|
|
||||||
}
|
}
|
||||||
if err := createMongoIndex(mongoClient, cWorkMoment, false, "user_id", "-create_time"); err != nil {
|
if err := createMongoIndex(mongoClient, cWorkMoment, false, "user_id", "-create_time"); err != nil {
|
||||||
fmt.Println("user_id", "-create_time", "index create failed", err.Error())
|
panic(err.Error() + "index create failed " + cWorkMoment + "user_id, -create_time")
|
||||||
panic(err.Error())
|
|
||||||
}
|
}
|
||||||
if err := createMongoIndex(mongoClient, cTag, false, "user_id", "-create_time"); err != nil {
|
if err := createMongoIndex(mongoClient, cTag, false, "user_id", "-create_time"); err != nil {
|
||||||
fmt.Println("user_id", "-create_time", "index create failed", err.Error())
|
panic(err.Error() + "index create failed " + cTag + " user_id, -create_time")
|
||||||
panic(err.Error())
|
|
||||||
}
|
}
|
||||||
if err := createMongoIndex(mongoClient, cTag, true, "tag_id"); err != nil {
|
if err := createMongoIndex(mongoClient, cTag, true, "tag_id"); err != nil {
|
||||||
fmt.Println("tag_id", "index create failed", err.Error())
|
panic(err.Error() + "index create failed " + cTag + " tag_id")
|
||||||
panic(err.Error())
|
|
||||||
}
|
}
|
||||||
fmt.Println("createMongoIndex success")
|
|
||||||
DB.mongoClient = mongoClient
|
DB.mongoClient = mongoClient
|
||||||
|
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
||||||
@ -136,7 +125,8 @@ func init() {
|
|||||||
})
|
})
|
||||||
_, err = DB.RDB.Ping(ctx).Result()
|
_, err = DB.RDB.Ping(ctx).Result()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err.Error())
|
fmt.Println("redis cluster failed address ", config.Config.Redis.DBAddress)
|
||||||
|
panic(err.Error() + " redis cluster " + config.Config.Redis.DBUserName + config.Config.Redis.DBPassWord)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
DB.RDB = go_redis.NewClient(&go_redis.Options{
|
DB.RDB = go_redis.NewClient(&go_redis.Options{
|
||||||
@ -148,7 +138,7 @@ func init() {
|
|||||||
})
|
})
|
||||||
_, err = DB.RDB.Ping(ctx).Result()
|
_, err = DB.RDB.Ping(ctx).Result()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err.Error())
|
panic(err.Error() + " redis " + config.Config.Redis.DBAddress[0] + config.Config.Redis.DBUserName + config.Config.Redis.DBPassWord)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 强一致性缓存,当一个key被标记删除,其他请求线程会被锁住轮询直到新的key生成,适合各种同步的拉取, 如果弱一致可能导致拉取还是老数据,毫无意义
|
// 强一致性缓存,当一个key被标记删除,其他请求线程会被锁住轮询直到新的key生成,适合各种同步的拉取, 如果弱一致可能导致拉取还是老数据,毫无意义
|
||||||
|
@ -22,37 +22,26 @@ func (w Writer) Printf(format string, args ...interface{}) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func initMysqlDB() {
|
func initMysqlDB() {
|
||||||
fmt.Println("init mysqlDB start")
|
|
||||||
//When there is no open IM database, connect to the mysql built-in database to create openIM database
|
|
||||||
dsn := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8mb4&parseTime=true&loc=Local",
|
dsn := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8mb4&parseTime=true&loc=Local",
|
||||||
config.Config.Mysql.DBUserName, config.Config.Mysql.DBPassword, config.Config.Mysql.DBAddress[0], "mysql")
|
config.Config.Mysql.DBUserName, config.Config.Mysql.DBPassword, config.Config.Mysql.DBAddress[0], "mysql")
|
||||||
var db *gorm.DB
|
var db *gorm.DB
|
||||||
var err1 error
|
var err1 error
|
||||||
db, err := gorm.Open(mysql.Open(dsn), nil)
|
db, err := gorm.Open(mysql.Open(dsn), nil)
|
||||||
if err != nil {
|
|
||||||
fmt.Println("Open failed ", err.Error(), dsn)
|
|
||||||
}
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
time.Sleep(time.Duration(30) * time.Second)
|
time.Sleep(time.Duration(30) * time.Second)
|
||||||
db, err1 = gorm.Open(mysql.Open(dsn), nil)
|
db, err1 = gorm.Open(mysql.Open(dsn), nil)
|
||||||
if err1 != nil {
|
if err1 != nil {
|
||||||
fmt.Println("Open failed ", err1.Error(), dsn)
|
panic(err1.Error() + " open failed " + dsn)
|
||||||
panic(err1.Error())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Check the database and table during initialization
|
|
||||||
sql := fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s default charset utf8 COLLATE utf8_general_ci;", config.Config.Mysql.DBDatabaseName)
|
sql := fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s default charset utf8 COLLATE utf8_general_ci;", config.Config.Mysql.DBDatabaseName)
|
||||||
fmt.Println("exec sql: ", sql, " begin")
|
|
||||||
err = db.Exec(sql).Error
|
err = db.Exec(sql).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Exec failed ", err.Error(), sql)
|
panic(err.Error() + " Exec failed " + sql)
|
||||||
panic(err.Error())
|
|
||||||
}
|
}
|
||||||
fmt.Println("exec sql: ", sql, " end")
|
|
||||||
dsn = fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8mb4&parseTime=true&loc=Local",
|
dsn = fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8mb4&parseTime=true&loc=Local",
|
||||||
config.Config.Mysql.DBUserName, config.Config.Mysql.DBPassword, config.Config.Mysql.DBAddress[0], config.Config.Mysql.DBDatabaseName)
|
config.Config.Mysql.DBUserName, config.Config.Mysql.DBPassword, config.Config.Mysql.DBAddress[0], config.Config.Mysql.DBDatabaseName)
|
||||||
|
|
||||||
newLogger := logger.New(
|
newLogger := logger.New(
|
||||||
Writer{},
|
Writer{},
|
||||||
logger.Config{
|
logger.Config{
|
||||||
@ -66,20 +55,18 @@ func initMysqlDB() {
|
|||||||
Logger: newLogger,
|
Logger: newLogger,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("Open failed ", err.Error(), dsn)
|
panic(err.Error() + " Open failed " + dsn)
|
||||||
panic(err.Error())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sqlDB, err := db.DB()
|
sqlDB, err := db.DB()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err.Error())
|
panic(err.Error() + " db.DB() failed ")
|
||||||
}
|
}
|
||||||
|
|
||||||
sqlDB.SetConnMaxLifetime(time.Second * time.Duration(config.Config.Mysql.DBMaxLifeTime))
|
sqlDB.SetConnMaxLifetime(time.Second * time.Duration(config.Config.Mysql.DBMaxLifeTime))
|
||||||
sqlDB.SetMaxOpenConns(config.Config.Mysql.DBMaxOpenConns)
|
sqlDB.SetMaxOpenConns(config.Config.Mysql.DBMaxOpenConns)
|
||||||
sqlDB.SetMaxIdleConns(config.Config.Mysql.DBMaxIdleConns)
|
sqlDB.SetMaxIdleConns(config.Config.Mysql.DBMaxIdleConns)
|
||||||
|
|
||||||
fmt.Println("open mysql ok ", dsn)
|
|
||||||
db.AutoMigrate(
|
db.AutoMigrate(
|
||||||
&Register{},
|
&Register{},
|
||||||
&Friend{},
|
&Friend{},
|
||||||
@ -94,99 +81,69 @@ func initMysqlDB() {
|
|||||||
db.Set("gorm:table_options", "collation=utf8_unicode_ci")
|
db.Set("gorm:table_options", "collation=utf8_unicode_ci")
|
||||||
|
|
||||||
if !db.Migrator().HasTable(&Friend{}) {
|
if !db.Migrator().HasTable(&Friend{}) {
|
||||||
fmt.Println("CreateTable Friend")
|
|
||||||
db.Migrator().CreateTable(&Friend{})
|
db.Migrator().CreateTable(&Friend{})
|
||||||
}
|
}
|
||||||
|
|
||||||
if !db.Migrator().HasTable(&FriendRequest{}) {
|
if !db.Migrator().HasTable(&FriendRequest{}) {
|
||||||
fmt.Println("CreateTable FriendRequest")
|
|
||||||
db.Migrator().CreateTable(&FriendRequest{})
|
db.Migrator().CreateTable(&FriendRequest{})
|
||||||
}
|
}
|
||||||
|
|
||||||
if !db.Migrator().HasTable(&Group{}) {
|
if !db.Migrator().HasTable(&Group{}) {
|
||||||
fmt.Println("CreateTable Group")
|
|
||||||
db.Migrator().CreateTable(&Group{})
|
db.Migrator().CreateTable(&Group{})
|
||||||
}
|
}
|
||||||
|
|
||||||
if !db.Migrator().HasTable(&GroupMember{}) {
|
if !db.Migrator().HasTable(&GroupMember{}) {
|
||||||
fmt.Println("CreateTable GroupMember")
|
|
||||||
db.Migrator().CreateTable(&GroupMember{})
|
db.Migrator().CreateTable(&GroupMember{})
|
||||||
}
|
}
|
||||||
if !db.Migrator().HasTable(&GroupRequest{}) {
|
if !db.Migrator().HasTable(&GroupRequest{}) {
|
||||||
fmt.Println("CreateTable GroupRequest")
|
|
||||||
db.Migrator().CreateTable(&GroupRequest{})
|
db.Migrator().CreateTable(&GroupRequest{})
|
||||||
}
|
}
|
||||||
if !db.Migrator().HasTable(&User{}) {
|
if !db.Migrator().HasTable(&User{}) {
|
||||||
fmt.Println("CreateTable User")
|
|
||||||
db.Migrator().CreateTable(&User{})
|
db.Migrator().CreateTable(&User{})
|
||||||
}
|
}
|
||||||
if !db.Migrator().HasTable(&Black{}) {
|
if !db.Migrator().HasTable(&Black{}) {
|
||||||
fmt.Println("CreateTable Black")
|
|
||||||
db.Migrator().CreateTable(&Black{})
|
db.Migrator().CreateTable(&Black{})
|
||||||
}
|
}
|
||||||
if !db.Migrator().HasTable(&ChatLog{}) {
|
if !db.Migrator().HasTable(&ChatLog{}) {
|
||||||
fmt.Println("CreateTable ChatLog")
|
|
||||||
db.Migrator().CreateTable(&ChatLog{})
|
db.Migrator().CreateTable(&ChatLog{})
|
||||||
}
|
}
|
||||||
if !db.Migrator().HasTable(&Register{}) {
|
if !db.Migrator().HasTable(&Register{}) {
|
||||||
fmt.Println("CreateTable Register")
|
|
||||||
db.Migrator().CreateTable(&Register{})
|
db.Migrator().CreateTable(&Register{})
|
||||||
}
|
}
|
||||||
if !db.Migrator().HasTable(&Conversation{}) {
|
if !db.Migrator().HasTable(&Conversation{}) {
|
||||||
fmt.Println("CreateTable Conversation")
|
|
||||||
db.Migrator().CreateTable(&Conversation{})
|
db.Migrator().CreateTable(&Conversation{})
|
||||||
}
|
}
|
||||||
|
|
||||||
if !db.Migrator().HasTable(&Department{}) {
|
if !db.Migrator().HasTable(&Department{}) {
|
||||||
fmt.Println("CreateTable Department")
|
|
||||||
db.Migrator().CreateTable(&Department{})
|
db.Migrator().CreateTable(&Department{})
|
||||||
}
|
}
|
||||||
if !db.Migrator().HasTable(&OrganizationUser{}) {
|
if !db.Migrator().HasTable(&OrganizationUser{}) {
|
||||||
fmt.Println("CreateTable OrganizationUser")
|
|
||||||
db.Migrator().CreateTable(&OrganizationUser{})
|
db.Migrator().CreateTable(&OrganizationUser{})
|
||||||
}
|
}
|
||||||
if !db.Migrator().HasTable(&DepartmentMember{}) {
|
if !db.Migrator().HasTable(&DepartmentMember{}) {
|
||||||
fmt.Println("CreateTable DepartmentMember")
|
|
||||||
db.Migrator().CreateTable(&DepartmentMember{})
|
db.Migrator().CreateTable(&DepartmentMember{})
|
||||||
}
|
}
|
||||||
if !db.Migrator().HasTable(&AppVersion{}) {
|
if !db.Migrator().HasTable(&AppVersion{}) {
|
||||||
fmt.Println("CreateTable DepartmentMember")
|
|
||||||
db.Migrator().CreateTable(&AppVersion{})
|
db.Migrator().CreateTable(&AppVersion{})
|
||||||
}
|
}
|
||||||
if !db.Migrator().HasTable(&BlackList{}) {
|
if !db.Migrator().HasTable(&BlackList{}) {
|
||||||
fmt.Println("CreateTable BlackList")
|
|
||||||
db.Migrator().CreateTable(&BlackList{})
|
db.Migrator().CreateTable(&BlackList{})
|
||||||
}
|
}
|
||||||
if !db.Migrator().HasTable(&IpLimit{}) {
|
if !db.Migrator().HasTable(&IpLimit{}) {
|
||||||
fmt.Println("CreateTable IpLimit")
|
|
||||||
db.Migrator().CreateTable(&IpLimit{})
|
db.Migrator().CreateTable(&IpLimit{})
|
||||||
}
|
}
|
||||||
if !db.Migrator().HasTable(&UserIpLimit{}) {
|
if !db.Migrator().HasTable(&UserIpLimit{}) {
|
||||||
fmt.Println("CreateTable UserIpLimit")
|
|
||||||
db.Migrator().CreateTable(&UserIpLimit{})
|
db.Migrator().CreateTable(&UserIpLimit{})
|
||||||
}
|
}
|
||||||
|
|
||||||
if !db.Migrator().HasTable(&RegisterAddFriend{}) {
|
if !db.Migrator().HasTable(&RegisterAddFriend{}) {
|
||||||
fmt.Println("CreateTable RegisterAddFriend")
|
|
||||||
db.Migrator().CreateTable(&RegisterAddFriend{})
|
db.Migrator().CreateTable(&RegisterAddFriend{})
|
||||||
}
|
}
|
||||||
if !db.Migrator().HasTable(&Invitation{}) {
|
if !db.Migrator().HasTable(&Invitation{}) {
|
||||||
fmt.Println("CreateTable Invitation")
|
|
||||||
db.Migrator().CreateTable(&Invitation{})
|
db.Migrator().CreateTable(&Invitation{})
|
||||||
}
|
}
|
||||||
|
|
||||||
if !db.Migrator().HasTable(&ClientInitConfig{}) {
|
if !db.Migrator().HasTable(&ClientInitConfig{}) {
|
||||||
fmt.Println("CreateTable ClientInitConfig")
|
|
||||||
db.Migrator().CreateTable(&ClientInitConfig{})
|
db.Migrator().CreateTable(&ClientInitConfig{})
|
||||||
}
|
}
|
||||||
|
|
||||||
if !db.Migrator().HasTable(&UserIpRecord{}) {
|
if !db.Migrator().HasTable(&UserIpRecord{}) {
|
||||||
fmt.Println("CreateTable Friend")
|
|
||||||
db.Migrator().CreateTable(&UserIpRecord{})
|
db.Migrator().CreateTable(&UserIpRecord{})
|
||||||
}
|
}
|
||||||
|
|
||||||
DB.MysqlDB.db = db
|
DB.MysqlDB.db = db
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *mysqlDB) DefaultGormDB() *gorm.DB {
|
func (m *mysqlDB) DefaultGormDB() *gorm.DB {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user