Fixed Logger not being serializable anymore (#1792)
3.3.0
Deprecated FlowdockHandler & Formatter as the flowdock service was shutdown (#1748)
Added ClosureContextProcessor to allow delaying the creation of context data by setting a Closure in context which is called when the log record is used (#1745)
Added an ElasticsearchHandler option to set the op_type to create instead of the default index (#1766)
Added support for enum context values in PsrLogMessageProcessor (#1773)
Fixed handling of falsey display_errors string values (#1804)
3.3.1 (2023-02-06)
Fixed Logger not being serializable anymore (#1792)
3.3.0 (2023-02-06)
Deprecated FlowdockHandler & Formatter as the flowdock service was shutdown (#1748)
Added ClosureContextProcessor to allow delaying the creation of context data by setting a Closure in context which is called when the log record is used (#1745)
Added an ElasticsearchHandler option to set the op_type to create instead of the default index (#1766)
Added support for enum context values in PsrLogMessageProcessor (#1773)
Monolog\Logger::API can be used to distinguish between a Monolog 3, 2 or 1
install when writing integration code.
Log records have been converted from an array to a Monolog\LogRecord object
with public (and mostly readonly) properties. e.g. instead of doing
$record['context'] use $record->context.
In formatters or handlers if you rather need an array to work with you can use $record->toArray()
to get back a Monolog 1/2 style record array. This will contain the enum values instead of enum cases
in the level and level_name keys to be more backwards compatible and use simpler data types.
FormatterInterface, HandlerInterface, ProcessorInterface, etc. changed to contain LogRecord $record
instead of array $record parameter types. If you want to support multiple Monolog versions this should
be possible by type-hinting nothing, or array|LogRecord if you support PHP 8.0+. You can then code
against the $record using Monolog 2 style as LogRecord implements ArrayAccess for BC.
The interfaces do not require a LogRecord return type even where it would be applicable, but if you only
support Monolog 3 in integration code I would recommend you use LogRecord return types wherever fitting
to ensure forward compatibility as it may be added in Monolog 4.
All properties have had types added, which may require you to do so as well if you extended
a Monolog class and declared the same property.
Logger
Logger::DEBUG, Logger::ERROR, etc. are now deprecated in favor of the Level enum.
e.g. instead of Logger::WARNING use Level::Warning if you need to pass the enum case
to Monolog or one of its handlers, or Level::Warning->value if you need the integer
value equal to what Logger::WARNING was giving you.
Logger::$levels has been removed.
Logger::getLevels has been removed in favor of Monolog\Level::VALUES or Monolog\Level::cases().
setExceptionHandler now requires a Closure instance and not just any callable.
HtmlFormatter
If you redefined colors in the $logLevels property you must now override the
getLevelColor method instead.
NormalizerFormatter
A new normalizeRecord method is available as an extension point which is called
only when converting the LogRecord to an array. You may need this if you overrode
format previously as parent::format now needs to receive a LogRecord still
so you cannot modify it before.
AbstractSyslogHandler
If you redefined syslog levels in the $logLevels property you must now override the
toSyslogPriority method instead.
You can trigger a rebase of this PR by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.
Bumps monolog/monolog from 2.9.2 to 3.6.0.
Release notes
Sourced from monolog/monolog's releases.
... (truncated)
Changelog
Sourced from monolog/monolog's changelog.
... (truncated)
Upgrade guide
Sourced from monolog/monolog's upgrade guide.
... (truncated)
Commits
4b18b21
Update changeloga0860dd
Merge branch '2.x'a30bfe2
Update changelog84638a5
Add test for setBasePath functionality, refs #187324e0e45
Remove base path on LineFormatter (#1873)c48c642
#1878 User definable duplication for DeduplicationHandler (#1879)613eaea
Fix group annotationsb127292
Fix phpunit deprecations5b99025
Remove curlopt safe upload which is not needed since php5.6cdec3b5
Merge branch '2.x'You can trigger a rebase of this PR by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show