GELF: Allow for both the legacy and the updated official library #326
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.
Since #287 would have broken BC, this PR allows to use both the legacy GELF library (mlehner/gelf-php) and the official new one (graylog2/gelf-php) with Monolog.
Changes:
GelfHandler
and replaced it with a runtime check for eitherIMessagePublisher
orPublisherInterface
GelfHandlerTest
is quite dependent on the used GELF library. That's why I moved the tests for the legacy library to a separate fileGeldHandlerLegacyTest
GelfFormatterTest
for an easy test with both librariescomposer.json
now defaults tograylog2/gelf-php
for suggestion and require-dev. I cannot think of a way to automatically test for both the legacy and current library (naming clashes). To verify legacy-compatibility, one must manually change tomlehner/gelf-php: ~1.0
, and runcomposer update && phpunit
. Better idea are very welcome!This enables users to switch to the current gelf-library by changing their
composer.json
tograylog2/gelf-php
and does not change anything for users unwilling or unable to change. It should be able to introduce this PR in the next minor version./cc @h4cc