Designed for c++ engineer developping web applications rapidly
- Webapp
- Index-Page
- Main Directory Guide
Application main config is toml format
Designed for setup framework instance
Define framework level errcode 401,400 for example
Define service local config
Define service dependent config
Define framework global variables
Setup associate config such as crontab task for delete expire log
Init framework global varibles
Define application api interface,such as json supported protocol object
Define application interface url
Define business logic
Define business error code and error message
Support local call stack
Define data access according to mysql redis mongo driver
Define data object,such as mysql table object
When app runs,it will push api call stat,errcode stat,delay stat,in and out flow stat info into stat log file at regular intervals
Support mysql based on gorm
Support redis based on redisgoe
Support mongo
Just support rabbitmq
Support token based on jwt
Support interface sign
Define custom function
Support promethus metrics scan
Support pprof performance data scan,such as goroutines,threads,heap info
Dao layer suggest printing no log
Api layer print detail log about http
Service layer print business log
Dao layer return base errcode
Service layer return business define errcode
Api layer may return standard error base on http and business errcode
Monitor keyword define in api layer,init at router layer
├── bin
├── etc
├── frameworklog
├── log
├── logs
├── stat
└── tools
├── bin
│ └── webapp
├── etc
│ └── config.toml
├── frameworklog
│ ├── access
│ │ └── webapp
│ │ ├── log.2021-02-22
│ │ └── log.2021-02-23
│ ├── business
│ │ └── webapp
│ │ ├── log.2021-02-22
│ │ └── log.2021-02-23
│ └── err
│ └── webapp
│ ├── log.2021-02-22
│ └── log.2021-02-23
├── log
│ ├── app.2021-02-23.001.log
│ └── app.log
├── logs
│ └── nohup.err
├── stat
│ └── webapp_stat.log
└── tools
│ └── op
│ │ ├── p.sh
│ │ ├── start.sh
│ │ └── stop.sh