5 ms·
Especially given the current landscape of log handling as the author points out. I am all in on structured logging most of the time and I don't want to have to
by leetrout 4y ago
Especially given the current landscape of log handling as the author points out.
I am all in on structured logging most of the time and I don't want to have to deal with a newline causing multiple records in my log aggregation.
- Rapzid 4y agoIt's also not true the interface for Unwrap() doesn't exist; behold https://cs.opensource.google/go/go/+/refs/tags/go1.19.4:src/errors/wrap.go;l=14 https://cs.opensource.google/go/go/+/refs/tags/go1.19.4:src/... ... Yeah, it's not exported but...
- lzap 4y agoIn the blogpost I specifically wrote "There is no (named) interface in the standard library..." because I was aware of the function you point out. Rather than unexported interface, I would probably call that an "anonymous interface". Anyway, now that I read that, I should probably skip this fact and just keep the example interface. It is not uncommon practice in Go to make "copies" of interfaces to avoid extra dependency (or cyclic dependency).
- Rapzid 4y agoSorry, that shot right past me. The article sounded, to me anyway, impressed the interface didn't exist. Seeing the cast/check against the anonymous interface left me unimpressed haha. > It is not uncommon practice in Go to make "copies" of interfaces to avoid extra dependency (or cyclic dependency). I hadn't really noticed but my exposure to the source is spotty. See what they are doing there and can imagine why, it just irks me. There are now implicit, "standard" shapes for Error that don't have named, exported interfaces and presumably anyone wanting to write code around both Unwrap shapes will need to reach for the same techniques to suss out what they are dealing with..