Skip to content

Commit 81ba566

Browse files
committed
[change] print message when loading error
1 parent 11da4ce commit 81ba566

File tree

3 files changed

+45
-18
lines changed

3 files changed

+45
-18
lines changed

api/api.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package api
33
import (
44
"fmt"
55
"path/filepath"
6+
"strings"
67

78
"github.com/yaoapp/gou"
89
"github.com/yaoapp/kun/log"
@@ -23,12 +24,15 @@ func LoadFrom(dir string, prefix string) error {
2324
if share.DirNotExists(dir) {
2425
return fmt.Errorf("%s does not exists", dir)
2526
}
27+
28+
messages := []string{}
2629
err := share.Walk(dir, ".http.json", func(root, filename string) {
2730
name := prefix + share.SpecName(root, filename)
2831
content := share.ReadFile(filename)
2932
_, err := gou.LoadAPIReturn(string(content), name, "bearer-jwt")
3033
if err != nil {
3134
log.With(log.F{"root": root, "file": filename}).Error(err.Error())
35+
messages = append(messages, fmt.Sprintf("%s %s", name, err.Error()))
3236
}
3337
})
3438

@@ -39,9 +43,14 @@ func LoadFrom(dir string, prefix string) error {
3943
_, err := gou.LoadWebSocketServer(string(content), name)
4044
if err != nil {
4145
log.With(log.F{"root": root, "file": filename}).Error(err.Error())
46+
messages = append(messages, fmt.Sprintf("%s %s", name, err.Error()))
4247
}
4348
})
4449

50+
if len(messages) > 0 {
51+
return fmt.Errorf("%s", strings.Join(messages, ";"))
52+
}
53+
4554
return err
4655
}
4756

engine/load.go

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ import (
44
"fmt"
55
"os"
66
"path/filepath"
7+
"strings"
78

9+
"github.com/fatih/color"
810
"github.com/yaoapp/gou"
911
"github.com/yaoapp/kun/exception"
10-
"github.com/yaoapp/kun/log"
1112
"github.com/yaoapp/yao/api"
1213
"github.com/yaoapp/yao/app"
1314
"github.com/yaoapp/yao/cert"
@@ -45,7 +46,7 @@ func Load(cfg config.Config) (err error) {
4546
// Load Certs
4647
err = cert.Load(cfg)
4748
if err != nil {
48-
log.Debug(err.Error())
49+
printErr(cfg.Mode, "Cert", err)
4950
}
5051

5152
// 第二步: 建立数据库 & 会话连接
@@ -65,83 +66,94 @@ func Load(cfg config.Config) (err error) {
6566
// 第四步: 加载共享库 & JS 处理器
6667
err = share.Load(cfg) // 加载共享库 lib
6768
if err != nil {
68-
log.Debug(err.Error())
69+
printErr(cfg.Mode, "Lib", err)
6970
}
7071

7172
err = script.Load(cfg) // 加载JS处理器 script
7273
if err != nil {
73-
log.Debug(err.Error())
74+
printErr(cfg.Mode, "Script", err)
7475
}
7576

7677
// 第五步: 加载数据模型等
7778
err = model.Load(cfg) // 加载数据模型 model
7879
if err != nil {
79-
log.Debug(err.Error())
80+
printErr(cfg.Mode, "Model", err)
8081
}
8182

8283
err = flow.Load(cfg) // 加载业务逻辑 Flow
8384
if err != nil {
84-
log.Debug(err.Error())
85+
printErr(cfg.Mode, "Flow", err)
8586
}
8687

8788
err = store.Load(cfg) // Load stores
8889
if err != nil {
89-
log.Debug(err.Error())
90+
printErr(cfg.Mode, "Store", err)
9091
}
9192

9293
err = plugin.Load(cfg) // 加载业务插件 plugin
9394
if err != nil {
94-
log.Debug(err.Error())
95+
printErr(cfg.Mode, "Plugin", err)
9596
}
9697

9798
err = table.Load(cfg) // 加载数据表格 table
9899
if err != nil {
99-
log.Debug(err.Error())
100+
printErr(cfg.Mode, "Table", err)
100101
}
101102

102103
err = chart.Load(cfg) // 加载分析图表 chart
103104
if err != nil {
104-
log.Debug(err.Error())
105+
printErr(cfg.Mode, "Chart", err)
106+
}
107+
108+
err = page.Load(cfg) // 加载页面 page 忽略错误
109+
if err != nil {
110+
printErr(cfg.Mode, "Page", err)
105111
}
106112

107-
page.Load(cfg) // 加载页面 page 忽略错误
108113
importer.Load(cfg) // 加载数据导入 imports
109114

110115
// workflow.Load(cfg) // 加载工作流 workflow
111116

112117
err = api.Load(cfg) // 加载业务接口 API
113118
if err != nil {
114-
log.Debug(err.Error())
119+
printErr(cfg.Mode, "API", err)
115120
}
116121

117122
err = socket.Load(cfg) // Load sockets
118123
if err != nil {
119-
log.Debug(err.Error())
124+
printErr(cfg.Mode, "Socket", err)
120125
}
121126

122127
err = websocket.Load(cfg) // Load websockets (client)
123128
if err != nil {
124-
log.Debug(err.Error())
129+
printErr(cfg.Mode, "WebSocket", err)
125130
}
126131

127132
err = task.Load(cfg) // Load tasks
128133
if err != nil {
129-
log.Debug(err.Error())
134+
printErr(cfg.Mode, "Task", err)
130135
}
131136

132137
err = schedule.Load(cfg) // Load schedules
133138
if err != nil {
134-
log.Debug(err.Error())
139+
printErr(cfg.Mode, "Schedule", err)
135140
}
136141

137-
err = widget.Load(cfg) // Load schedules
142+
err = widget.Load(cfg) // Load widgets
138143
if err != nil {
139-
log.Debug(err.Error())
144+
printErr(cfg.Mode, "Widget", err)
140145
}
141146

142147
return nil
143148
}
144149

150+
func printErr(mode, widget string, err error) {
151+
message := fmt.Sprintf("[%s] %s", widget, err.Error())
152+
if !strings.Contains(message, "does not exists") && mode == "development" {
153+
color.Red(message)
154+
}
155+
}
156+
145157
// Reload 根据配置重新加载 API, FLow, Model, Plugin
146158
func Reload(cfg config.Config) {
147159
gou.APIs = map[string]*gou.API{}

table/table.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,15 +127,21 @@ func LoadFrom(dir string, prefix string) error {
127127
return fmt.Errorf("%s does not exists", dir)
128128
}
129129

130+
messages := []string{}
130131
err := share.Walk(dir, ".json", func(root, filename string) {
131132
name := share.SpecName(root, filename)
132133
content := share.ReadFile(filename)
133134
_, err := LoadTable(string(content), name)
134135
if err != nil {
135136
log.With(log.F{"root": root, "file": filename}).Error(err.Error())
137+
messages = append(messages, fmt.Sprintf("%s %s", name, err.Error()))
136138
}
137139
})
138140

141+
if len(messages) > 0 {
142+
return fmt.Errorf("%s", strings.Join(messages, ";"))
143+
}
144+
139145
return err
140146
}
141147

0 commit comments

Comments
 (0)