The design of the GLOG can tell us about how does a good API look like.

Logging to syslog. Which can be queried through journalctl or some web-based tools. Automatic folding and gzipping.

First, logging out only the essential information. If this is a daemon, logging too much will both incur too much overhead, and flooding out the useful information (esp. if you need to do log review).

Second, be careful not to log sensitive information.

Third, for debugging purpose, enough information should be logged (local variables).


  • Structured logging
  • Logging to metrics

Don’t let logging block your application.

Log transmission???