Reading config file
This commit is contained in:
parent
370ee8405d
commit
53da4655ad
6 changed files with 69 additions and 5 deletions
7
conf/conf.ini
Normal file
7
conf/conf.ini
Normal file
|
@ -0,0 +1,7 @@
|
|||
[Database]
|
||||
Type = mysql
|
||||
User = root
|
||||
Password = root
|
||||
Host = 127.0.0.1:3306
|
||||
Name = v3
|
||||
TablePrefix = v3_
|
1
go.mod
1
go.mod
|
@ -5,6 +5,7 @@ go 1.12
|
|||
require (
|
||||
github.com/DATA-DOG/go-sqlmock v1.3.3
|
||||
github.com/gin-gonic/gin v1.4.0
|
||||
github.com/go-ini/ini v1.50.0
|
||||
github.com/go-playground/locales v0.13.0 // indirect
|
||||
github.com/go-playground/universal-translator v0.16.0 // indirect
|
||||
github.com/jinzhu/gorm v1.9.11
|
||||
|
|
2
main.go
2
main.go
|
@ -2,10 +2,12 @@ package main
|
|||
|
||||
import (
|
||||
"Cloudreve/models"
|
||||
"Cloudreve/pkg/conf"
|
||||
"Cloudreve/routers"
|
||||
)
|
||||
|
||||
func init() {
|
||||
conf.Init()
|
||||
model.Init()
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ import (
|
|||
"github.com/jinzhu/gorm"
|
||||
"time"
|
||||
|
||||
//
|
||||
_ "github.com/jinzhu/gorm/dialects/mysql"
|
||||
)
|
||||
|
||||
|
@ -18,6 +17,7 @@ func Init() {
|
|||
util.Log().Info("初始化数据库连接\n")
|
||||
db, err := gorm.Open("mysql", "root:root@(localhost)/v3?charset=utf8&parseTime=True&loc=Local")
|
||||
db.LogMode(true)
|
||||
//db.SetLogger(util.Log())
|
||||
// Error
|
||||
if err != nil {
|
||||
util.Log().Panic("连接数据库不成功", err)
|
||||
|
|
45
pkg/conf/conf.go
Normal file
45
pkg/conf/conf.go
Normal file
|
@ -0,0 +1,45 @@
|
|||
package conf
|
||||
|
||||
import (
|
||||
"Cloudreve/pkg/util"
|
||||
"fmt"
|
||||
"github.com/go-ini/ini"
|
||||
)
|
||||
|
||||
type Conf struct {
|
||||
Database Database
|
||||
}
|
||||
|
||||
type Database struct {
|
||||
Type string
|
||||
User string
|
||||
Password string
|
||||
Host string
|
||||
Name string
|
||||
TablePrefix string
|
||||
}
|
||||
|
||||
var database = &Database{
|
||||
Type: "UNSET",
|
||||
}
|
||||
|
||||
var cfg *ini.File
|
||||
|
||||
func Init() {
|
||||
var err error
|
||||
//TODO 配置文件不存在时创建
|
||||
cfg, err = ini.Load("conf/conf.ini")
|
||||
if err != nil {
|
||||
util.Log().Panic("无法解析配置文件 'conf/conf.ini': ", err)
|
||||
}
|
||||
mapSection("Database", database)
|
||||
fmt.Println(database)
|
||||
|
||||
}
|
||||
|
||||
func mapSection(section string, confStruct interface{}) {
|
||||
err := cfg.Section("Database").MapTo(database)
|
||||
if err != nil {
|
||||
util.Log().Warning("配置文件 Database 分区解析失败")
|
||||
}
|
||||
}
|
|
@ -44,7 +44,7 @@ func (ll *Logger) Error(format string, v ...interface{}) {
|
|||
if LevelError > ll.level {
|
||||
return
|
||||
}
|
||||
msg := fmt.Sprintf("[E] "+format, v...)
|
||||
msg := fmt.Sprintf("[Error] "+format, v...)
|
||||
ll.Println(msg)
|
||||
}
|
||||
|
||||
|
@ -53,7 +53,7 @@ func (ll *Logger) Warning(format string, v ...interface{}) {
|
|||
if LevelWarning > ll.level {
|
||||
return
|
||||
}
|
||||
msg := fmt.Sprintf("[W] "+format, v...)
|
||||
msg := fmt.Sprintf("[Warning] "+format, v...)
|
||||
ll.Println(msg)
|
||||
}
|
||||
|
||||
|
@ -62,7 +62,7 @@ func (ll *Logger) Info(format string, v ...interface{}) {
|
|||
if LevelInformational > ll.level {
|
||||
return
|
||||
}
|
||||
msg := fmt.Sprintf("[I] "+format, v...)
|
||||
msg := fmt.Sprintf("[Info] "+format, v...)
|
||||
ll.Println(msg)
|
||||
}
|
||||
|
||||
|
@ -71,7 +71,16 @@ func (ll *Logger) Debug(format string, v ...interface{}) {
|
|||
if LevelDebug > ll.level {
|
||||
return
|
||||
}
|
||||
msg := fmt.Sprintf("[D] "+format, v...)
|
||||
msg := fmt.Sprintf("[Debug] "+format, v...)
|
||||
ll.Println(msg)
|
||||
}
|
||||
|
||||
// GORM 的 Logger实现
|
||||
func (ll *Logger) Print(v ...interface{}) {
|
||||
if LevelDebug > ll.level {
|
||||
return
|
||||
}
|
||||
msg := fmt.Sprintf("[SQL] ", v...)
|
||||
ll.Println(msg)
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue