diff --git a/beego.go b/beego.go index 61b6d823..fa4d9cd0 100644 --- a/beego.go +++ b/beego.go @@ -67,7 +67,15 @@ func InsertFilter(pattern string, pos int, filter FilterFunc) *App { } func Run() { - InitConfig() + //if AppConfigPath not In the conf/app.conf reParse config + if AppConfigPath != path.Join(AppPath, "conf", "app.conf") { + err := ParseConfig() + if err != nil { + if RunMode == "dev" { + Warn(err) + } + } + } if SessionOn { GlobalSessions, _ = session.NewManager(SessionProvider, diff --git a/config.go b/config.go index bd540b6e..2159a338 100644 --- a/config.go +++ b/config.go @@ -58,9 +58,9 @@ var ( AdminHttpPort int ) -func InitConfig() { - // explicit call config.Init +func init() { os.Chdir(path.Dir(os.Args[0])) + BeeApp = NewApp() AppPath = path.Dir(os.Args[0]) StaticDir = make(map[string]string) TemplateCache = make(map[string]*template.Template) @@ -83,6 +83,7 @@ func InitConfig() { MaxMemory = 1 << 26 //64MB EnableGzip = false StaticDir["/static"] = "static" + AppConfigPath = path.Join(AppPath, "conf", "app.conf") HttpServerTimeOut = 0 ErrorsShow = true XSRFKEY = "beegoxsrf" @@ -93,17 +94,7 @@ func InitConfig() { EnableAdmin = true AdminHttpAddr = "localhost" AdminHttpPort = 8088 - - // if AppConfigPath hasn't been set yet, - // use /Path/to/AppPath/conf/app.conf as the default - if AppConfigPath == "" { - AppConfigPath = path.Join(AppPath, "conf", "app.conf") - } - - if err := ParseConfig(); err != nil { - panic(err) - } - + ParseConfig() runtime.GOMAXPROCS(runtime.NumCPU()) } @@ -267,7 +258,3 @@ func ParseConfig() (err error) { } return nil } - -func init() { - BeeApp = NewApp() -}