Skip to content
  • Patrick Steinhardt's avatar
    log: Roundtrip `log.Logger` type · bdc3d567
    Patrick Steinhardt authored
    The `log.Logger` type still converts to a `logrus.Entry` when calling
    functions like `WithField()` or `WithError()`. This was hard to change
    though because a lot of callsites still relied on this conversion. By
    now we have have fixed all blockers though, which allows us to finally
    do the conversion and have the `log.Logger` type roundtrip to itself.
    
    To do so, we inline the `logrus.FieldLogger` interface and adapt the
    specific functions to return a `Logger` instead of a `logrus.Entry`.
    This change also demonstrates that all internal interfaces now use the
    interface exclusively and that we are free to adapt the interface as
    required from now on.
    
    Note that we also have to add two additional functions to the interface
    to create the logging interceptors for the gRPC server. This is because
    we have no way to create these interceptors manually from a `log.Logger`
    anymore and thus need its help to do so for us.
    bdc3d567