https://github.com/avelino/awesome-go#logging
High performance
- uber-go/zap structured logging with high performance
- rs/zerolog high performance, only focus on json logging
- nanolog use binary format, only store the changed part (like prepare statement in database)
Simple
- std/log standard library log package
- glog leveled only, but can sample based on number of hits on a certain file:line
- gokit/log extreme simple interface
Structured
- sirupsen/logrus structured logging, poor performance
- apex/log use handler instead of formatter + writer
- log15 lazy evaluation
Java(ish)
- solr the last straw that drive us to log v2, gives you a tree graph to control log level of ALL the packages, including dependencies
- seelog javaish, fine grained control log filtering (by func, file etc.)
- log4j java logger
- TODO: might check open tracing as well, instrument like code should be put into other package
Logging library used by popular go projects
- k8s, CockroachDB glog