-
For configs, given you haven't mentioned what sort of configs - I'd generally recommend viper.
-
InfluxDB
Purpose built for real-time analytics at any scale. InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
-
I haven't needed to use anything outside the standard library for testing - the only exception to this being testify, which I use for the easy assert.Equal and other wrappers most of the time.
-
How do I handle configs? In our Node APIs we use this config package, which allows us to override default configs on a per-environment basis. What's the standard way of doing this in Go?
-
For #2 I use zerolog, which logs as JSON lines, but gives you considerable control over the output. The standard package is fine if you just want regular ol' text logs, however
-
I use zap for logging. With some planning, you can easily switch between logging to JSON or Plaintext (the former is faster but less readable). Though, that comes with a learning curve - you'll have to spend some time reading the docs before you can actually start using zap in production. On the other hand, logrus is pretty simple to use, but relatively quite slow (this might not matter for personal projects, but probably will in production). And of course, there's the standard package as well! Take your pick ;)
-
I use zap for logging. With some planning, you can easily switch between logging to JSON or Plaintext (the former is faster but less readable). Though, that comes with a learning curve - you'll have to spend some time reading the docs before you can actually start using zap in production. On the other hand, logrus is pretty simple to use, but relatively quite slow (this might not matter for personal projects, but probably will in production). And of course, there's the standard package as well! Take your pick ;)