补充mcube 以及日志打印

This commit is contained in:
yumaojun03 2026-03-15 12:05:10 +08:00
parent b531341d98
commit d41a471046
8 changed files with 153 additions and 10 deletions

View File

@ -1,3 +1,6 @@
[app]
name = "mcube_app"
[datasource] [datasource]
host = "127.0.0.1" host = "127.0.0.1"
port = 3306 port = 3306
@ -9,4 +12,12 @@
# HTTP服务Host # HTTP服务Host
host = "127.0.0.1" host = "127.0.0.1"
# HTTP服务端口 # HTTP服务端口
port = 8010 port = 8010
[log]
# 日志的级别, 默认Debug
level = "info"
[log.file]
# 是否开启文件记录
enable = true

View File

@ -45,6 +45,7 @@ require (
github.com/hashicorp/go-rootcerts v1.0.2 // indirect github.com/hashicorp/go-rootcerts v1.0.2 // indirect
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect
github.com/hashicorp/vault-client-go v0.4.3 // indirect github.com/hashicorp/vault-client-go v0.4.3 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jackc/pgpassfile v1.0.0 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
github.com/jackc/pgx/v5 v5.6.0 // indirect github.com/jackc/pgx/v5 v5.6.0 // indirect
@ -74,6 +75,8 @@ require (
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
github.com/rs/zerolog v1.34.0 // indirect github.com/rs/zerolog v1.34.0 // indirect
github.com/ryanuber/go-glob v1.0.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect
github.com/spf13/cobra v1.10.1 // indirect
github.com/spf13/pflag v1.0.9 // indirect
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
github.com/ugorji/go/codec v1.3.1 // indirect github.com/ugorji/go/codec v1.3.1 // indirect
github.com/uptrace/opentelemetry-go-extra/otelgorm v0.3.2 // indirect github.com/uptrace/opentelemetry-go-extra/otelgorm v0.3.2 // indirect

View File

@ -19,6 +19,7 @@ github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL
github.com/cloudwego/base64x v0.1.6 h1:t11wG9AECkCDk5fMSoxmufanudBtJ+/HemLstXDLI2M= github.com/cloudwego/base64x v0.1.6 h1:t11wG9AECkCDk5fMSoxmufanudBtJ+/HemLstXDLI2M=
github.com/cloudwego/base64x v0.1.6/go.mod h1:OFcloc187FXDaYHvrNIjxSe8ncn0OOM8gEHfghB2IPU= github.com/cloudwego/base64x v0.1.6/go.mod h1:OFcloc187FXDaYHvrNIjxSe8ncn0OOM8gEHfghB2IPU=
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@ -90,6 +91,8 @@ github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 h1:kes8mmyCpxJsI7FTwtzRqEy9
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2/go.mod h1:Gou2R9+il93BqX25LAKCLuM+y9U2T4hlwvT1yprcna4= github.com/hashicorp/go-secure-stdlib/strutil v0.1.2/go.mod h1:Gou2R9+il93BqX25LAKCLuM+y9U2T4hlwvT1yprcna4=
github.com/hashicorp/vault-client-go v0.4.3 h1:zG7STGVgn/VK6rnZc0k8PGbfv2x/sJExRKHSUg3ljWc= github.com/hashicorp/vault-client-go v0.4.3 h1:zG7STGVgn/VK6rnZc0k8PGbfv2x/sJExRKHSUg3ljWc=
github.com/hashicorp/vault-client-go v0.4.3/go.mod h1:4tDw7Uhq5XOxS1fO+oMtotHL7j4sB9cp0T7U6m4FzDY= github.com/hashicorp/vault-client-go v0.4.3/go.mod h1:4tDw7Uhq5XOxS1fO+oMtotHL7j4sB9cp0T7U6m4FzDY=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/infraboard/mcube/v2 v2.1.4 h1:45j82fDgLnGdnuQisob8N84UikWit/NMn0aq5ErJOI0= github.com/infraboard/mcube/v2 v2.1.4 h1:45j82fDgLnGdnuQisob8N84UikWit/NMn0aq5ErJOI0=
github.com/infraboard/mcube/v2 v2.1.4/go.mod h1:M/UxG9LsdiBVdMKnoCnDOzr3CR7PNBXsygTbB5U6Ibg= github.com/infraboard/mcube/v2 v2.1.4/go.mod h1:M/UxG9LsdiBVdMKnoCnDOzr3CR7PNBXsygTbB5U6Ibg=
github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
@ -165,8 +168,13 @@ github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWN
github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0= github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0=
github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY= github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY=
github.com/rs/zerolog v1.34.0/go.mod h1:bJsvje4Z08ROH4Nhs5iH600c3IkWhwp44iRc54W6wYQ= github.com/rs/zerolog v1.34.0/go.mod h1:bJsvje4Z08ROH4Nhs5iH600c3IkWhwp44iRc54W6wYQ=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk=
github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc=
github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s=
github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0=
github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY=
github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=

View File

@ -0,0 +1,32 @@
{"level":"warn","group":"default","hostname":"oldfishmpb-9.local","logger":"vault","time":"2026-03-15T11:42:21+08:00","caller":"config/vault/vault.go:113","message":"vault address is empty, skipping initialization"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"gin_webframework","time":"2026-03-15T11:42:21+08:00","caller":"config/gin/framework.go:41","message":"enable gin recovery"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"datasource","time":"2026-03-15T11:42:21+08:00","caller":"config/datasource/grom.go:287","message":"using static credentials from config file"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"metric","time":"2026-03-15T11:42:21+08:00","caller":"metric/gin/metric.go:89","message":"Get the Metric using http://127.0.0.1:8010/metrics"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"health_check","time":"2026-03-15T11:42:21+08:00","caller":"health/gin/check.go:55","message":"Get the Health using http://127.0.0.1:8010/healthz"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"jsonrpc","time":"2026-03-15T11:42:21+08:00","caller":"config/jsonrpc/service.go:114","message":"no reigstry service"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T11:42:21+08:00","caller":"ioc/server/server.go:79","message":"loaded configs: [app.1.0.0 trace.1.0.0 log.1.0.0 vault.1.0.0 gin_webframework.1.0.0 datasource.1.0.0 grpc.1.0.0 http.1.0.0]"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T11:42:21+08:00","caller":"ioc/server/server.go:79","message":"loaded default: []"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T11:42:21+08:00","caller":"ioc/server/server.go:79","message":"loaded controllers: []"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T11:42:21+08:00","caller":"ioc/server/server.go:79","message":"loaded apis: [metric.v1 health.1.0.0 module_a.1.0.0 jsonrpc.1.0.0]"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"http","time":"2026-03-15T11:42:21+08:00","caller":"config/http/http.go:145","message":"HTTP服务启动成功, 监听地址: 127.0.0.1:8010"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","time":"2026-03-15T11:42:33+08:00","caller":"day07/example/main.go:76","message":"GetDbStats"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T11:44:06+08:00","caller":"ioc/server/server.go:109","message":"receive signal 'interrupt', start graceful shutdown"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"http","time":"2026-03-15T11:44:06+08:00","caller":"config/http/http.go:153","message":"start graceful shutdown"}
{"level":"error","group":"default","hostname":"oldfishmpb-9.local","logger":"http","time":"2026-03-15T11:44:06+08:00","caller":"config/http/http.go:147","message":"http: Server closed"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T11:44:06+08:00","caller":"ioc/server/server.go:123","message":"http service stop complete"}
{"level":"warn","group":"default","hostname":"oldfishmpb-9.local","logger":"vault","time":"2026-03-15T11:44:09+08:00","caller":"config/vault/vault.go:113","message":"vault address is empty, skipping initialization"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"gin_webframework","time":"2026-03-15T11:44:09+08:00","caller":"config/gin/framework.go:41","message":"enable gin recovery"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"datasource","time":"2026-03-15T11:44:09+08:00","caller":"config/datasource/grom.go:287","message":"using static credentials from config file"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"metric","time":"2026-03-15T11:44:09+08:00","caller":"metric/gin/metric.go:89","message":"Get the Metric using http://127.0.0.1:8010/metrics"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"health_check","time":"2026-03-15T11:44:09+08:00","caller":"health/gin/check.go:55","message":"Get the Health using http://127.0.0.1:8010/healthz"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"jsonrpc","time":"2026-03-15T11:44:09+08:00","caller":"config/jsonrpc/service.go:114","message":"no reigstry service"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T11:44:09+08:00","caller":"ioc/server/server.go:79","message":"loaded configs: [app.1.0.0 trace.1.0.0 log.1.0.0 vault.1.0.0 gin_webframework.1.0.0 datasource.1.0.0 grpc.1.0.0 http.1.0.0]"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T11:44:09+08:00","caller":"ioc/server/server.go:79","message":"loaded default: []"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T11:44:09+08:00","caller":"ioc/server/server.go:79","message":"loaded controllers: []"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T11:44:09+08:00","caller":"ioc/server/server.go:79","message":"loaded apis: [metric.v1 health.1.0.0 module_a.1.0.0 jsonrpc.1.0.0]"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"http","time":"2026-03-15T11:44:09+08:00","caller":"config/http/http.go:145","message":"HTTP服务启动成功, 监听地址: 127.0.0.1:8010"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"api handler","time":"2026-03-15T11:44:11+08:00","caller":"day07/example/main.go:76","message":"GetDbStats"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T11:59:40+08:00","caller":"ioc/server/server.go:109","message":"receive signal 'interrupt', start graceful shutdown"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"http","time":"2026-03-15T11:59:40+08:00","caller":"config/http/http.go:153","message":"start graceful shutdown"}
{"level":"info","group":"default","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T11:59:40+08:00","caller":"ioc/server/server.go:123","message":"http service stop complete"}
{"level":"error","group":"default","hostname":"oldfishmpb-9.local","logger":"http","time":"2026-03-15T11:59:40+08:00","caller":"config/http/http.go:147","message":"http: Server closed"}

View File

@ -0,0 +1,54 @@
{"level":"warn","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"vault","time":"2026-03-15T12:02:32+08:00","caller":"config/vault/vault.go:113","message":"vault address is empty, skipping initialization"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"gin_webframework","time":"2026-03-15T12:02:32+08:00","caller":"config/gin/framework.go:41","message":"enable gin recovery"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"datasource","time":"2026-03-15T12:02:32+08:00","caller":"config/datasource/grom.go:287","message":"using static credentials from config file"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"metric","time":"2026-03-15T12:02:32+08:00","caller":"metric/gin/metric.go:89","message":"Get the Metric using http://127.0.0.1:8010/metrics"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"health_check","time":"2026-03-15T12:02:32+08:00","caller":"health/gin/check.go:55","message":"Get the Health using http://127.0.0.1:8010/healthz"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"jsonrpc","time":"2026-03-15T12:02:32+08:00","caller":"config/jsonrpc/service.go:114","message":"no reigstry service"}
{"level":"warn","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"vault","time":"2026-03-15T12:02:36+08:00","caller":"config/vault/vault.go:113","message":"vault address is empty, skipping initialization"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"gin_webframework","time":"2026-03-15T12:02:36+08:00","caller":"config/gin/framework.go:41","message":"enable gin recovery"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"datasource","time":"2026-03-15T12:02:36+08:00","caller":"config/datasource/grom.go:287","message":"using static credentials from config file"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"metric","time":"2026-03-15T12:02:36+08:00","caller":"metric/gin/metric.go:89","message":"Get the Metric using http://127.0.0.1:8010/metrics"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"health_check","time":"2026-03-15T12:02:36+08:00","caller":"health/gin/check.go:55","message":"Get the Health using http://127.0.0.1:8010/healthz"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"jsonrpc","time":"2026-03-15T12:02:36+08:00","caller":"config/jsonrpc/service.go:114","message":"no reigstry service"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T12:02:36+08:00","caller":"ioc/server/server.go:79","message":"loaded configs: [app.1.0.0 trace.1.0.0 log.1.0.0 vault.1.0.0 gin_webframework.1.0.0 datasource.1.0.0 grpc.1.0.0 http.1.0.0]"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T12:02:36+08:00","caller":"ioc/server/server.go:79","message":"loaded default: []"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T12:02:36+08:00","caller":"ioc/server/server.go:79","message":"loaded controllers: []"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T12:02:36+08:00","caller":"ioc/server/server.go:79","message":"loaded apis: [metric.v1 health.1.0.0 module_a.1.0.0 jsonrpc.1.0.0]"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"http","time":"2026-03-15T12:02:36+08:00","caller":"config/http/http.go:145","message":"HTTP服务启动成功, 监听地址: 127.0.0.1:8010"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"api handler","time":"2026-03-15T12:02:39+08:00","caller":"day07/example/main.go:76","message":"GetDbStats"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T12:03:14+08:00","caller":"ioc/server/server.go:109","message":"receive signal 'interrupt', start graceful shutdown"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"http","time":"2026-03-15T12:03:14+08:00","caller":"config/http/http.go:153","message":"start graceful shutdown"}
{"level":"error","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"http","time":"2026-03-15T12:03:14+08:00","caller":"config/http/http.go:147","message":"http: Server closed"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T12:03:14+08:00","caller":"ioc/server/server.go:123","message":"http service stop complete"}
{"level":"warn","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"vault","time":"2026-03-15T12:03:17+08:00","caller":"config/vault/vault.go:113","message":"vault address is empty, skipping initialization"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"gin_webframework","time":"2026-03-15T12:03:17+08:00","caller":"config/gin/framework.go:41","message":"enable gin recovery"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"datasource","time":"2026-03-15T12:03:17+08:00","caller":"config/datasource/grom.go:287","message":"using static credentials from config file"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"metric","time":"2026-03-15T12:03:17+08:00","caller":"metric/gin/metric.go:89","message":"Get the Metric using http://127.0.0.1:8010/metrics"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"health_check","time":"2026-03-15T12:03:17+08:00","caller":"health/gin/check.go:55","message":"Get the Health using http://127.0.0.1:8010/healthz"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"jsonrpc","time":"2026-03-15T12:03:17+08:00","caller":"config/jsonrpc/service.go:114","message":"no reigstry service"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T12:03:17+08:00","caller":"ioc/server/server.go:79","message":"loaded configs: [app.1.0.0 trace.1.0.0 log.1.0.0 vault.1.0.0 gin_webframework.1.0.0 datasource.1.0.0 grpc.1.0.0 http.1.0.0]"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T12:03:17+08:00","caller":"ioc/server/server.go:79","message":"loaded default: []"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T12:03:17+08:00","caller":"ioc/server/server.go:79","message":"loaded controllers: []"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T12:03:17+08:00","caller":"ioc/server/server.go:79","message":"loaded apis: [metric.v1 health.1.0.0 module_a.1.0.0 jsonrpc.1.0.0]"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"http","time":"2026-03-15T12:03:17+08:00","caller":"config/http/http.go:145","message":"HTTP服务启动成功, 监听地址: 127.0.0.1:8010"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","time":"2026-03-15T12:03:20+08:00","caller":"day07/example/main.go:76","message":"GetDbStats"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T12:03:54+08:00","caller":"ioc/server/server.go:109","message":"receive signal 'interrupt', start graceful shutdown"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"http","time":"2026-03-15T12:03:54+08:00","caller":"config/http/http.go:153","message":"start graceful shutdown"}
{"level":"error","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"http","time":"2026-03-15T12:03:54+08:00","caller":"config/http/http.go:147","message":"http: Server closed"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T12:03:54+08:00","caller":"ioc/server/server.go:123","message":"http service stop complete"}
{"level":"warn","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"vault","time":"2026-03-15T12:03:54+08:00","caller":"config/vault/vault.go:113","message":"vault address is empty, skipping initialization"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"gin_webframework","time":"2026-03-15T12:03:54+08:00","caller":"config/gin/framework.go:41","message":"enable gin recovery"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"datasource","time":"2026-03-15T12:03:54+08:00","caller":"config/datasource/grom.go:287","message":"using static credentials from config file"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"metric","time":"2026-03-15T12:03:54+08:00","caller":"metric/gin/metric.go:89","message":"Get the Metric using http://127.0.0.1:8010/metrics"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"health_check","time":"2026-03-15T12:03:54+08:00","caller":"health/gin/check.go:55","message":"Get the Health using http://127.0.0.1:8010/healthz"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"jsonrpc","time":"2026-03-15T12:03:54+08:00","caller":"config/jsonrpc/service.go:114","message":"no reigstry service"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T12:03:54+08:00","caller":"ioc/server/server.go:79","message":"loaded configs: [app.1.0.0 trace.1.0.0 log.1.0.0 vault.1.0.0 gin_webframework.1.0.0 datasource.1.0.0 grpc.1.0.0 http.1.0.0]"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T12:03:54+08:00","caller":"ioc/server/server.go:79","message":"loaded default: []"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T12:03:54+08:00","caller":"ioc/server/server.go:79","message":"loaded controllers: []"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T12:03:54+08:00","caller":"ioc/server/server.go:79","message":"loaded apis: [metric.v1 health.1.0.0 module_a.1.0.0 jsonrpc.1.0.0]"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"http","time":"2026-03-15T12:03:54+08:00","caller":"config/http/http.go:145","message":"HTTP服务启动成功, 监听地址: 127.0.0.1:8010"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"api handler","time":"2026-03-15T12:03:57+08:00","caller":"day07/example/main.go:76","message":"GetDbStats"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T12:04:42+08:00","caller":"ioc/server/server.go:109","message":"receive signal 'interrupt', start graceful shutdown"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"http","time":"2026-03-15T12:04:42+08:00","caller":"config/http/http.go:153","message":"start graceful shutdown"}
{"level":"error","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"http","time":"2026-03-15T12:04:42+08:00","caller":"config/http/http.go:147","message":"http: Server closed"}
{"level":"info","group":"default","app":"mcube_app","hostname":"oldfishmpb-9.local","logger":"server","time":"2026-03-15T12:04:42+08:00","caller":"ioc/server/server.go:123","message":"http service stop complete"}

View File

@ -1,20 +1,24 @@
package main package main
import ( import (
"context"
"net/http" "net/http"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/infraboard/mcube/v2/ioc" "github.com/infraboard/mcube/v2/ioc"
"github.com/infraboard/mcube/v2/ioc/config/datasource" "github.com/infraboard/mcube/v2/ioc/config/datasource"
ioc_gin "github.com/infraboard/mcube/v2/ioc/config/gin" ioc_gin "github.com/infraboard/mcube/v2/ioc/config/gin"
"github.com/infraboard/mcube/v2/ioc/server"
"github.com/infraboard/mcube/v2/ioc/server/cmd"
"gorm.io/gorm" "gorm.io/gorm"
// 开启Health健康检查 // 开启Health健康检查
_ "github.com/infraboard/mcube/v2/ioc/apps/health/gin" _ "github.com/infraboard/mcube/v2/ioc/apps/health/gin"
// 开启Metric // 开启Metric
_ "github.com/infraboard/mcube/v2/ioc/apps/metric/gin" _ "github.com/infraboard/mcube/v2/ioc/apps/metric/gin"
// 日志
"github.com/infraboard/mcube/v2/ioc/config/log"
) )
func main() { func main() {
@ -23,14 +27,20 @@ func main() {
// 开启配置文件读取配置 // 开启配置文件读取配置
// server 是一个特殊的对象在ioc 提供的 服务器 // server 是一个特殊的对象在ioc 提供的 服务器
server.DefaultConfig.ConfigFile.Enabled = true // server.DefaultConfig.ConfigFile.Enabled = true
server.DefaultConfig.ConfigFile.Paths = []string{"etc/application.toml"} // server.DefaultConfig.ConfigFile.Paths = []string{"etc/application.toml"}
// // 启动应用
// err := server.Run(context.Background())
// if err != nil {
// panic(err)
// }
// 基于CLI启动
cmd.Start()
// 为程序添加子命令
// cmd.Root.AddCommand()
// 启动应用
err := server.Run(context.Background())
if err != nil {
panic(err)
}
} }
type ApiHandler struct { type ApiHandler struct {
@ -62,7 +72,10 @@ func (h *ApiHandler) Init() error {
// 业务功能 // 业务功能
func (h *ApiHandler) GetDbStats(ctx *gin.Context) { func (h *ApiHandler) GetDbStats(ctx *gin.Context) {
// 使用L() 获取日志对象, 进行日志记录
log.Sub("api handler").Info().Msg("GetDbStats")
db, _ := h.db.DB() db, _ := h.db.DB()
ctx.JSON(http.StatusOK, gin.H{ ctx.JSON(http.StatusOK, gin.H{
"data": db.Stats(), "data": db.Stats(),
}) })

19
day07/ioc.drawio Normal file
View File

@ -0,0 +1,19 @@
<mxfile host="65bd71144e">
<diagram id="4WWb-cV0AvO5kOzvMI9p" name="第 1 页">
<mxGraphModel dx="1212" dy="383" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="200" y="130" width="510" height="170" as="geometry"/>
</mxCell>
<mxCell id="3" value="ioc" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="425" y="90" width="60" height="30" as="geometry"/>
</mxCell>
<mxCell id="4" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="190" y="380" width="120" height="60" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

3
day07/log/README.md Normal file
View File

@ -0,0 +1,3 @@
# 程序日志
https://www.mcube.top/guide/config/log.html