Skip to content

Commit bbcc3b3

Browse files
committed
app config sequence update
1 parent 5ca0bb0 commit bbcc3b3

File tree

5 files changed

+535
-314
lines changed

5 files changed

+535
-314
lines changed

app/http/module/demo/api.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package demo
22

33
import (
44
demoService "github.com/gohade/hade/app/provider/demo"
5+
"github.com/gohade/hade/framework/contract"
56
"github.com/gohade/hade/framework/gin"
67
)
78

@@ -45,6 +46,8 @@ func (api *DemoApi) Demo(c *gin.Context) {
4546
// @Success 200 {array} UserDTO
4647
// @Router /demo/demo2 [get]
4748
func (api *DemoApi) Demo2(c *gin.Context) {
49+
logger := c.MustMake(contract.LogKey).(contract.Log)
50+
logger.Info(c, "demo2 request", nil)
4851
demoProvider := c.MustMake(demoService.DemoKey).(demoService.IService)
4952
students := demoProvider.GetAllStudent()
5053
usersDTO := StudentsToUserDTOs(students)

docs/guide/app.md

Lines changed: 82 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
## 命令
44

5-
这里的运行是运行整个 app,这个 app 可以只包含后端,也可以只包含前端,但是后端也是隐藏在前端后面运行。具体可以参考 app/http/route.go
5+
这里的运行是运行整个 app,这个 app 可以只包含后端,也可以只包含前端,但是后端也是隐藏在前端后面运行。具体可以参考
6+
app/http/route.go
67

78
```
89
package http
@@ -45,12 +46,27 @@ Use "hade app [command] --help" for more information about a command.
4546

4647
可以使用 `./hade app start` 启动一个应用。
4748

49+
```markdown
50+
成功启动进程: hade app
51+
进程pid: 39327
52+
监听地址: http://localhost:8888
53+
基础路径: /Users/jianfengye/Documents/workspace/gohade/hade/
54+
日志路径: /Users/jianfengye/Documents/workspace/gohade/hade/teststorage/log
55+
运行路径: /Users/jianfengye/Documents/workspace/gohade/hade/teststorage/runtime
56+
配置路径: /Users/jianfengye/Documents/workspace/gohade/hade/config
57+
```
58+
4859
也可以使用 `./hade app start -d` 使用 deamon 模式启动一个应用。应用名称为 `hade app`
4960

5061
```
5162
[~/Documents/workspace/hade_workspace/demo5]$ ./hade app start -d
52-
app serve started
53-
log file: /Users/Documents/workspace/hade_workspace/demo5/storage/log/app.log
63+
成功启动进程: hade app
64+
进程pid: 41021
65+
监听地址: http://localhost:8888
66+
基础路径: /Users/jianfengye/Documents/workspace/gohade/hade/
67+
日志路径: /Users/jianfengye/Documents/workspace/gohade/hade/teststorage/log
68+
运行路径: /Users/jianfengye/Documents/workspace/gohade/hade/teststorage/runtime
69+
配置路径: /Users/jianfengye/Documents/workspace/gohade/hade/config
5470
```
5571

5672
app 应用的输出记录在 `/storage/log/app.log`
@@ -63,7 +79,7 @@ app 应用的输出记录在 `/storage/log/app.log`
6379

6480
```
6581
[~/Documents/workspace/hade_workspace/demo5]$ ./hade app state
66-
app server started, pid: 28170
82+
app服务已经启动, pid: 41021
6783
```
6884

6985
## 重启
@@ -77,3 +93,65 @@ app server started, pid: 28170
7793
## 停止
7894

7995
当使用 deamon 模式启动的时候,需要关闭应用,可以使用命令 `./hade app stop`
96+
97+
## 进程运行基础配置
98+
99+
在启动进程的时候,我们会需要定义一些配置项,这些配置项决定进程的运行环境(比如日志存放位置,运行态信息存放位置,配置文件存放位置等)。
100+
101+
这里我们提供了3种配置方式来设置这些基础配置,包括环境变量设置,命令行参数设置,配置文件设置。
102+
103+
这三种配置方式的优先级为:命令行参数 > 环境变量 > 配置文件
104+
105+
具体的配置项常用的如下,具体更多可以参考 framework/provider/app/service.go :
106+
107+
* 运行中间信息存放目录
108+
* 命令行参数:--runtime_folder
109+
* 环境变量:RUNTIME_FOLDER
110+
* 配置文件:app.path.runtime_folder
111+
* 不设置默认为:运行信息基础目录 + runtime
112+
* 日志存放目录
113+
* 命令行参数:--log_folder
114+
* 环境变量:LOG_FOLDER
115+
* 配置文件:app.path.log_folder
116+
* 不设置默认为:运行信息基础目录 + log
117+
* 运行信息基础目录
118+
* 命令行参数:--storage_folder
119+
* 环境变量:STORAGE_FOLDER
120+
* 配置文件:app.path.storage_folder
121+
* 不设置默认为:基础目录 + storage
122+
* 配置文件地址
123+
* 命令行参数:--config_folder
124+
* 环境变量:CONFIG_FOLDER
125+
* 配置文件:app.path.config_folder
126+
* 不设置默认为:基础目录 + config
127+
* 基础目录
128+
* 命令行参数:--base_folder
129+
* 环境变量:BASE_FOLDER
130+
* 配置文件:app.path.base_folder
131+
* 不设置默认为:当前执行目录
132+
133+
### 环境变量设置
134+
135+
在启动进程的时候进行环境变量的设置。比如
136+
137+
```markdown
138+
STORAGE_FOLDER=/Users/jianfengye/Documents/workspace/gohade/hade/teststorage ./hade app start
139+
```
140+
141+
### 命令行参数设置
142+
143+
在命令行参数中设置。比如
144+
145+
```markdown
146+
./hade app start --storage_folder=/Users/jianfengye/Documents/workspace/gohade/hade/teststorage/ -d
147+
```
148+
149+
### 配置文件设置
150+
151+
在配置文件config/${env}/app.yaml中配置:
152+
153+
```markdown
154+
path:
155+
storage_folder: "/Users/jianfengye/Documents/workspace/gohade/hade/teststorage/"
156+
```
157+

0 commit comments

Comments
 (0)