Please don’t use logrus. We moved away from logrus. I wrote a huge PR to do that across the entire code base. It’s slow and unoptimized because of its high dependence on maps. Also, tracing took over all of it’s functionality leaving only log.Fatal, which we switched to using standard Go library for.
As I say these things, I realize the lesson that I’ve learned with these external libraries that do simple things is that a lot of times they do it without any concern about performance. So, it’s best to stick to standard Go libraries or write whatever we need for simpler things. Only bring in external deps for more complicated functionality. Also, as Rob Pike says, A little copying is better than a little dependency.