Support FromStandardSLogger
to wrap a slog.Logger
into a hclog.Logger
#142
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
slog.Logger
, similar tolog.Logger
, is a Go 1st class logger type in the standard library. Theslog.Logger
is also used as an important interface for the OpenTelemetry logging package for Go. The current module has support forlog.Logger
, so it would be intuitive to have theslog.Logger
supported as well.This PR introduces a new function
FromStandardSLogger
for wrapping aslog.Logger
into ahclog.Logger
, similar to theFromStandardLogger
. The difference is the interface is a bit different, in that aLoggerOptions
is not needed, as those tunnable part are dominated by theslog.Logger
itself. Meanwhile, it has an optional parameterlvar
, which is aslog.LevelVar
. When this is notnil
, it is used for supporting theSetLevel
method of the returnedhclog.Logger
(as there is no way to retrieve theslog.LevelVar
from aslog.Logger
.There are also two additional consts introduced:
SlogLevelTrace
: For supporting thehclog.Trace
levelSlogLevelOff
: For supporting thehclog.Off
levelThe args related feature is implemented natively by the slog attributes.
The name related feature is implemented natively by the slog groups.