[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 (
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/yaoapp/gou"
|
||||
"github.com/yaoapp/kun/log"
|
||||
|
|
@ -23,12 +24,15 @@ func LoadFrom(dir string, prefix string) error {
|
|||
if share.DirNotExists(dir) {
|
||||
return fmt.Errorf("%s does not exists", dir)
|
||||
}
|
||||
|
||||
messages := []string{}
|
||||
err := share.Walk(dir, ".http.json", func(root, filename string) {
|
||||
name := prefix + share.SpecName(root, filename)
|
||||
content := share.ReadFile(filename)
|
||||
_, err := gou.LoadAPIReturn(string(content), name, "bearer-jwt")
|
||||
if err != nil {
|
||||
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)
|
||||
if err != nil {
|
||||
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
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,10 +4,11 @@ import (
|
|||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/fatih/color"
|
||||
"github.com/yaoapp/gou"
|
||||
"github.com/yaoapp/kun/exception"
|
||||
"github.com/yaoapp/kun/log"
|
||||
"github.com/yaoapp/yao/api"
|
||||
"github.com/yaoapp/yao/app"
|
||||
"github.com/yaoapp/yao/cert"
|
||||
|
|
@ -45,7 +46,7 @@ func Load(cfg config.Config) (err error) {
|
|||
// Load Certs
|
||||
err = cert.Load(cfg)
|
||||
if err != nil {
|
||||
log.Debug(err.Error())
|
||||
printErr(cfg.Mode, "Cert", err)
|
||||
}
|
||||
|
||||
// 第二步: 建立数据库 & 会话连接
|
||||
|
|
@ -65,83 +66,94 @@ func Load(cfg config.Config) (err error) {
|
|||
// 第四步: 加载共享库 & JS 处理器
|
||||
err = share.Load(cfg) // 加载共享库 lib
|
||||
if err != nil {
|
||||
log.Debug(err.Error())
|
||||
printErr(cfg.Mode, "Lib", err)
|
||||
}
|
||||
|
||||
err = script.Load(cfg) // 加载JS处理器 script
|
||||
if err != nil {
|
||||
log.Debug(err.Error())
|
||||
printErr(cfg.Mode, "Script", err)
|
||||
}
|
||||
|
||||
// 第五步: 加载数据模型等
|
||||
err = model.Load(cfg) // 加载数据模型 model
|
||||
if err != nil {
|
||||
log.Debug(err.Error())
|
||||
printErr(cfg.Mode, "Model", err)
|
||||
}
|
||||
|
||||
err = flow.Load(cfg) // 加载业务逻辑 Flow
|
||||
if err != nil {
|
||||
log.Debug(err.Error())
|
||||
printErr(cfg.Mode, "Flow", err)
|
||||
}
|
||||
|
||||
err = store.Load(cfg) // Load stores
|
||||
if err != nil {
|
||||
log.Debug(err.Error())
|
||||
printErr(cfg.Mode, "Store", err)
|
||||
}
|
||||
|
||||
err = plugin.Load(cfg) // 加载业务插件 plugin
|
||||
if err != nil {
|
||||
log.Debug(err.Error())
|
||||
printErr(cfg.Mode, "Plugin", err)
|
||||
}
|
||||
|
||||
err = table.Load(cfg) // 加载数据表格 table
|
||||
if err != nil {
|
||||
log.Debug(err.Error())
|
||||
printErr(cfg.Mode, "Table", err)
|
||||
}
|
||||
|
||||
err = chart.Load(cfg) // 加载分析图表 chart
|
||||
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
|
||||
|
||||
// workflow.Load(cfg) // 加载工作流 workflow
|
||||
|
||||
err = api.Load(cfg) // 加载业务接口 API
|
||||
if err != nil {
|
||||
log.Debug(err.Error())
|
||||
printErr(cfg.Mode, "API", err)
|
||||
}
|
||||
|
||||
err = socket.Load(cfg) // Load sockets
|
||||
if err != nil {
|
||||
log.Debug(err.Error())
|
||||
printErr(cfg.Mode, "Socket", err)
|
||||
}
|
||||
|
||||
err = websocket.Load(cfg) // Load websockets (client)
|
||||
if err != nil {
|
||||
log.Debug(err.Error())
|
||||
printErr(cfg.Mode, "WebSocket", err)
|
||||
}
|
||||
|
||||
err = task.Load(cfg) // Load tasks
|
||||
if err != nil {
|
||||
log.Debug(err.Error())
|
||||
printErr(cfg.Mode, "Task", err)
|
||||
}
|
||||
|
||||
err = schedule.Load(cfg) // Load schedules
|
||||
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 {
|
||||
log.Debug(err.Error())
|
||||
printErr(cfg.Mode, "Widget", err)
|
||||
}
|
||||
|
||||
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
|
||||
func Reload(cfg config.Config) {
|
||||
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)
|
||||
}
|
||||
|
||||
messages := []string{}
|
||||
err := share.Walk(dir, ".json", func(root, filename string) {
|
||||
name := share.SpecName(root, filename)
|
||||
content := share.ReadFile(filename)
|
||||
_, err := LoadTable(string(content), name)
|
||||
if err != nil {
|
||||
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
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue