[change] print message when loading error
This commit is contained in:
parent
11da4cea39
commit
81ba5668f2
3 changed files with 45 additions and 18 deletions
|
|
@ -3,6 +3,7 @@ package api
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/yaoapp/gou"
|
"github.com/yaoapp/gou"
|
||||||
"github.com/yaoapp/kun/log"
|
"github.com/yaoapp/kun/log"
|
||||||
|
|
@ -23,12 +24,15 @@ func LoadFrom(dir string, prefix string) error {
|
||||||
if share.DirNotExists(dir) {
|
if share.DirNotExists(dir) {
|
||||||
return fmt.Errorf("%s does not exists", dir)
|
return fmt.Errorf("%s does not exists", dir)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
messages := []string{}
|
||||||
err := share.Walk(dir, ".http.json", func(root, filename string) {
|
err := share.Walk(dir, ".http.json", func(root, filename string) {
|
||||||
name := prefix + share.SpecName(root, filename)
|
name := prefix + share.SpecName(root, filename)
|
||||||
content := share.ReadFile(filename)
|
content := share.ReadFile(filename)
|
||||||
_, err := gou.LoadAPIReturn(string(content), name, "bearer-jwt")
|
_, err := gou.LoadAPIReturn(string(content), name, "bearer-jwt")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.With(log.F{"root": root, "file": filename}).Error(err.Error())
|
log.With(log.F{"root": root, "file": filename}).Error(err.Error())
|
||||||
|
messages = append(messages, fmt.Sprintf("%s %s", name, err.Error()))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -39,9 +43,14 @@ func LoadFrom(dir string, prefix string) error {
|
||||||
_, err := gou.LoadWebSocketServer(string(content), name)
|
_, err := gou.LoadWebSocketServer(string(content), name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.With(log.F{"root": root, "file": filename}).Error(err.Error())
|
log.With(log.F{"root": root, "file": filename}).Error(err.Error())
|
||||||
|
messages = append(messages, fmt.Sprintf("%s %s", name, err.Error()))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if len(messages) > 0 {
|
||||||
|
return fmt.Errorf("%s", strings.Join(messages, ";"))
|
||||||
|
}
|
||||||
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,11 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"github.com/fatih/color"
|
||||||
"github.com/yaoapp/gou"
|
"github.com/yaoapp/gou"
|
||||||
"github.com/yaoapp/kun/exception"
|
"github.com/yaoapp/kun/exception"
|
||||||
"github.com/yaoapp/kun/log"
|
|
||||||
"github.com/yaoapp/yao/api"
|
"github.com/yaoapp/yao/api"
|
||||||
"github.com/yaoapp/yao/app"
|
"github.com/yaoapp/yao/app"
|
||||||
"github.com/yaoapp/yao/cert"
|
"github.com/yaoapp/yao/cert"
|
||||||
|
|
@ -45,7 +46,7 @@ func Load(cfg config.Config) (err error) {
|
||||||
// Load Certs
|
// Load Certs
|
||||||
err = cert.Load(cfg)
|
err = cert.Load(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug(err.Error())
|
printErr(cfg.Mode, "Cert", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 第二步: 建立数据库 & 会话连接
|
// 第二步: 建立数据库 & 会话连接
|
||||||
|
|
@ -65,83 +66,94 @@ func Load(cfg config.Config) (err error) {
|
||||||
// 第四步: 加载共享库 & JS 处理器
|
// 第四步: 加载共享库 & JS 处理器
|
||||||
err = share.Load(cfg) // 加载共享库 lib
|
err = share.Load(cfg) // 加载共享库 lib
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug(err.Error())
|
printErr(cfg.Mode, "Lib", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = script.Load(cfg) // 加载JS处理器 script
|
err = script.Load(cfg) // 加载JS处理器 script
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug(err.Error())
|
printErr(cfg.Mode, "Script", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 第五步: 加载数据模型等
|
// 第五步: 加载数据模型等
|
||||||
err = model.Load(cfg) // 加载数据模型 model
|
err = model.Load(cfg) // 加载数据模型 model
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug(err.Error())
|
printErr(cfg.Mode, "Model", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = flow.Load(cfg) // 加载业务逻辑 Flow
|
err = flow.Load(cfg) // 加载业务逻辑 Flow
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug(err.Error())
|
printErr(cfg.Mode, "Flow", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = store.Load(cfg) // Load stores
|
err = store.Load(cfg) // Load stores
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug(err.Error())
|
printErr(cfg.Mode, "Store", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = plugin.Load(cfg) // 加载业务插件 plugin
|
err = plugin.Load(cfg) // 加载业务插件 plugin
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug(err.Error())
|
printErr(cfg.Mode, "Plugin", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = table.Load(cfg) // 加载数据表格 table
|
err = table.Load(cfg) // 加载数据表格 table
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug(err.Error())
|
printErr(cfg.Mode, "Table", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = chart.Load(cfg) // 加载分析图表 chart
|
err = chart.Load(cfg) // 加载分析图表 chart
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug(err.Error())
|
printErr(cfg.Mode, "Chart", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = page.Load(cfg) // 加载页面 page 忽略错误
|
||||||
|
if err != nil {
|
||||||
|
printErr(cfg.Mode, "Page", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
page.Load(cfg) // 加载页面 page 忽略错误
|
|
||||||
importer.Load(cfg) // 加载数据导入 imports
|
importer.Load(cfg) // 加载数据导入 imports
|
||||||
|
|
||||||
// workflow.Load(cfg) // 加载工作流 workflow
|
// workflow.Load(cfg) // 加载工作流 workflow
|
||||||
|
|
||||||
err = api.Load(cfg) // 加载业务接口 API
|
err = api.Load(cfg) // 加载业务接口 API
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug(err.Error())
|
printErr(cfg.Mode, "API", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = socket.Load(cfg) // Load sockets
|
err = socket.Load(cfg) // Load sockets
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug(err.Error())
|
printErr(cfg.Mode, "Socket", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = websocket.Load(cfg) // Load websockets (client)
|
err = websocket.Load(cfg) // Load websockets (client)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug(err.Error())
|
printErr(cfg.Mode, "WebSocket", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = task.Load(cfg) // Load tasks
|
err = task.Load(cfg) // Load tasks
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug(err.Error())
|
printErr(cfg.Mode, "Task", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = schedule.Load(cfg) // Load schedules
|
err = schedule.Load(cfg) // Load schedules
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug(err.Error())
|
printErr(cfg.Mode, "Schedule", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = widget.Load(cfg) // Load schedules
|
err = widget.Load(cfg) // Load widgets
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug(err.Error())
|
printErr(cfg.Mode, "Widget", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func printErr(mode, widget string, err error) {
|
||||||
|
message := fmt.Sprintf("[%s] %s", widget, err.Error())
|
||||||
|
if !strings.Contains(message, "does not exists") && mode == "development" {
|
||||||
|
color.Red(message)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Reload 根据配置重新加载 API, FLow, Model, Plugin
|
// Reload 根据配置重新加载 API, FLow, Model, Plugin
|
||||||
func Reload(cfg config.Config) {
|
func Reload(cfg config.Config) {
|
||||||
gou.APIs = map[string]*gou.API{}
|
gou.APIs = map[string]*gou.API{}
|
||||||
|
|
|
||||||
|
|
@ -127,15 +127,21 @@ func LoadFrom(dir string, prefix string) error {
|
||||||
return fmt.Errorf("%s does not exists", dir)
|
return fmt.Errorf("%s does not exists", dir)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
messages := []string{}
|
||||||
err := share.Walk(dir, ".json", func(root, filename string) {
|
err := share.Walk(dir, ".json", func(root, filename string) {
|
||||||
name := share.SpecName(root, filename)
|
name := share.SpecName(root, filename)
|
||||||
content := share.ReadFile(filename)
|
content := share.ReadFile(filename)
|
||||||
_, err := LoadTable(string(content), name)
|
_, err := LoadTable(string(content), name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.With(log.F{"root": root, "file": filename}).Error(err.Error())
|
log.With(log.F{"root": root, "file": filename}).Error(err.Error())
|
||||||
|
messages = append(messages, fmt.Sprintf("%s %s", name, err.Error()))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if len(messages) > 0 {
|
||||||
|
return fmt.Errorf("%s", strings.Join(messages, ";"))
|
||||||
|
}
|
||||||
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue