Provides backwards compatibility with existing logrus via SetLogger() method
Introduces a Logger interface that others can implement for other
structured loggers such as zerolog.
Add SetLoggerFromLogger method that allows caller to pass in an implementation
of the new Logger interface.
Bumps the golang.org/x/sys dependency since tests fail to run on go 1.18 with the old version.
adding a test case for LogrusLogger
adding benchmark, add WithFields method because it's a lot faster apparently
Introducing a new metric GetFromPeersSlowestDuration which will be recording the slowest
call made to getFromPeers.
Introducing SetLogger() to set a logger and allow getFromPeers error to be logged of.