fix: make logger option compatible with PSR-3 Logger #12
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.
Contrary to the documentation it's currently not possible to pass a PSR-3 logger implementation (e.g. Monolog) as the
logger
option, because of the types declared in the constructor ofHttpClient
.According to the constructor you have to pass a
DeepL\LoggerInterface
. Monolog for example implementsPsr\Log\LoggerInterface
but of cause notDeepL\LoggerInterface
.Because of that you''ll get an Exception when you pass a Monolog logger to the
logger
option of theTranslator
:Argument 5 passed to DeepL\HttpClient::__construct() must be an instance of DeepL\LoggerInterface or null, instance of Monolog\Logger given
This PR replaces
DeepL\LoggerInterface
with thePsr\Log\LoggerInterface
which Monolog and other Logging Frameworks implement, making it possible to pass them as alogger
toTranslator
.