Environments
For established applications, you may find that you have several environments for various stages of the development cycle.
Here's a real world example of how a company manages their mobile logs.
Software Development Cycle
The company use GitFlow branching model and has 4 primary branches.
| Branch | Description |
|---|---|
| production | The code that is deployed to production. |
| staging | The code prior to deploying to production. This acts as a staging area before pushing to production. |
| develop | The active development branch |
| sandbox | A branch to used for internal demos and/or QA. |
Logging Setup
There are a total of 8 environment Birch environments to match this setup.
| Environment | Log Level | Flush Period | Description |
|---|---|---|---|
| ios-production | ERROR | 1h | Only track errors by default. |
| ios-staging | TRACE | 30s | Since QA is run here and there are few devices, log verbosely. |
| ios-sandbox | TRACE | 30s | Same as staging |
| ios-develop | ERROR | 1h | Developers have access to console so remote logging likely unneccessary. |
| android-production | ERROR | 1h | Only track errors by default. |
| android-staging | TRACE | 30s | Since QA is run here and there are few devices, log verbosely. |
| android-sandbox | TRACE | 30s | Same as staging |
| android-develop | ERROR | 1h | Developers have access to logcat so remote logging likely unneccessary. |