diff --git a/conf/app.conf b/conf/app.conf index d31d024d..5a5c67d0 100644 --- a/conf/app.conf +++ b/conf/app.conf @@ -31,7 +31,7 @@ radiusServerPort = 1812 radiusDefaultOrganization = "built-in" radiusSecret = "secret" quota = {"organization": -1, "user": -1, "application": -1, "provider": -1} -logConfig = {"filename": "logs/casdoor.log", "maxdays":99999, "perm":"0770"} +logConfig = {"adapter":"file", "filename": "logs/casdoor.log", "maxdays":99999, "perm":"0770"} initDataNewOnly = false initDataFile = "./init_data.json" frontendBaseDir = "../cc_0" \ No newline at end of file diff --git a/conf/conf_test.go b/conf/conf_test.go index da97de92..0b1420fd 100644 --- a/conf/conf_test.go +++ b/conf/conf_test.go @@ -115,7 +115,7 @@ func TestGetConfigLogs(t *testing.T) { description string expected string }{ - {"Default log config", `{"filename": "logs/casdoor.log", "maxdays":99999, "perm":"0770"}`}, + {"Default log config", `{"adapter":"file", "filename": "logs/casdoor.log", "maxdays":99999, "perm":"0770"}`}, } err := beego.LoadAppConfig("ini", "app.conf") diff --git a/main.go b/main.go index 08c866ed..5cd639f8 100644 --- a/main.go +++ b/main.go @@ -15,6 +15,7 @@ package main import ( + "encoding/json" "fmt" "github.com/beego/beego" @@ -77,10 +78,26 @@ func main() { beego.BConfig.WebConfig.Session.SessionGCMaxLifetime = 3600 * 24 * 30 // beego.BConfig.WebConfig.Session.SessionCookieSameSite = http.SameSiteNoneMode - err := logs.SetLogger(logs.AdapterFile, conf.GetConfigString("logConfig")) + var logAdapter string + logConfigMap := make(map[string]interface{}) + err := json.Unmarshal([]byte(conf.GetConfigString("logConfig")), &logConfigMap) if err != nil { panic(err) } + _, ok := logConfigMap["adapter"] + if !ok { + logAdapter = "file" + } else { + logAdapter = logConfigMap["adapter"].(string) + } + if logAdapter == "console" { + logs.Reset() + } + err = logs.SetLogger(logAdapter, conf.GetConfigString("logConfig")) + if err != nil { + panic(err) + } + port := beego.AppConfig.DefaultInt("httpport", 8000) // logs.SetLevel(logs.LevelInformational) logs.SetLogFuncCall(false)