Added JSON_PARTIAL_OUTPUT_ON_ERROR to default json encoding flags, to avoid dropping entire context data or even records due to an invalid subset of it somewhere
Added setDateFormat to NormalizerFormatter (and Line/Json formatters by extension) to allow changing this after object creation
Added RedisPubSubHandler to log records to a Redis channel using PUBLISH
Added support for Elastica 7, and deprecated the $type argument of ElasticaFormatter which is not in use anymore as of Elastica 7
Added support for millisecond write timeouts in SocketHandler, you can now pass floats to setWritingTimeout, e.g. 0.2 is 200ms
Added support for unix sockets in SyslogUdpHandler (set $port to 0 to make the $host a unix socket)
Added handleBatch support for TelegramBotHandler
Added RFC5424e extended date format including milliseconds to SyslogUdpHandler
Added support for configuring handlers with numeric level values in strings (coming from e.g. env vars)
Fixed Wildfire/FirePHP/ChromePHP handling of unicode characters
Fixed PHP 8 issues in SyslogUdpHandler
Fixed internal type error when mbstring is missing
2.1.1
Fixed removing of json encoding options
Fixed type hint of $level not accepting strings in SendGridHandler and OverflowHandler
Fixed SwiftMailerHandler not accepting email templates with an empty subject
Fixed array access on null in RavenHandler
Fixed unique_id in WebProcessor not being disableable
2.1.0
Added JSON_INVALID_UTF8_SUBSTITUTE to default json flags, so that invalid UTF8 characters now get converted to � instead of being converted from ISO-8859-15 to UTF8 as it was before, which was hardly a comprehensive solution
Added $ignoreEmptyContextAndExtra option to JsonFormatter to skip empty context/extra entirely from the output
Added $parseMode, $disableWebPagePreview and $disableNotification options to TelegramBotHandler
Added tentative support for PHP 8
NormalizerFormatter::addJsonEncodeOption and removeJsonEncodeOption are now public to allow modifying default json flags
Fixed GitProcessor type error when there is no git repo present
Fixed normalization of SoapFault objects containing deeply nested objects as "detail"
Fixed support for relative paths in RotatingFileHandler
2.0.2
Fixed ElasticsearchHandler swallowing exceptions details when failing to index log records
Fixed normalization of SoapFault objects containing non-strings as "detail" in LineFormatter
Fixed formatting of resources in JsonFormatter
Fixed RedisHandler failing to use MULTI properly when passed a proxied Redis instance (e.g. in Symfony with lazy services)
Fixed FilterHandler triggering a notice when handleBatch was filtering all records passed to it
Fixed Turkish locale messing up the conversion of level names to their constant values
2.0.1
Fixed normalization of Traversables to avoid traversing them as not all of them are rewindable
Fixed setFormatter/getFormatter to forward to the nested handler in FilterHandler, FingersCrossedHandler, BufferHandler, OverflowHandler and SamplingHandler
Fixed BrowserConsoleHandler formatting when using multiple styles
Fixed normalization of exception codes to be always integers even for PDOException which have them as numeric strings
Fixed normalization of SoapFault objects containing non-strings as "detail"
Fixed json encoding across all handlers to always attempt recovery of non-UTF-8 strings instead of failing the whole encoding
Fixed ChromePHPHandler to avoid sending more data than latest Chrome versions allow in headers (4KB down from 256KB).
Fixed type error in BrowserConsoleHandler when the context array of log records was not associative.
Added JSON_PARTIAL_OUTPUT_ON_ERROR to default json encoding flags, to avoid dropping entire context data or even records due to an invalid subset of it somewhere
Added setDateFormat to NormalizerFormatter (and Line/Json formatters by extension) to allow changing this after object creation
Added RedisPubSubHandler to log records to a Redis channel using PUBLISH
Added support for Elastica 7, and deprecated the $type argument of ElasticaFormatter which is not in use anymore as of Elastica 7
Added support for millisecond write timeouts in SocketHandler, you can now pass floats to setWritingTimeout, e.g. 0.2 is 200ms
Added support for unix sockets in SyslogUdpHandler (set $port to 0 to make the $host a unix socket)
Added handleBatch support for TelegramBotHandler
Added RFC5424e extended date format including milliseconds to SyslogUdpHandler
Added support for configuring handlers with numeric level values in strings (coming from e.g. env vars)
Fixed Wildfire/FirePHP/ChromePHP handling of unicode characters
Fixed PHP 8 issues in SyslogUdpHandler
Fixed internal type error when mbstring is missing
2.1.1 (2020-07-23)
Fixed removing of json encoding options
Fixed type hint of $level not accepting strings in SendGridHandler and OverflowHandler
Fixed SwiftMailerHandler not accepting email templates with an empty subject
Fixed array access on null in RavenHandler
Fixed unique_id in WebProcessor not being disableable
2.1.0 (2020-05-22)
Added JSON_INVALID_UTF8_SUBSTITUTE to default json flags, so that invalid UTF8 characters now get converted to � instead of being converted from ISO-8859-15 to UTF8 as it was before, which was hardly a comprehensive solution
Added $ignoreEmptyContextAndExtra option to JsonFormatter to skip empty context/extra entirely from the output
Added $parseMode, $disableWebPagePreview and $disableNotification options to TelegramBotHandler
Added tentative support for PHP 8
NormalizerFormatter::addJsonEncodeOption and removeJsonEncodeOption are now public to allow modifying default json flags
Fixed GitProcessor type error when there is no git repo present
Fixed normalization of SoapFault objects containing deeply nested objects as "detail"
Fixed support for relative paths in RotatingFileHandler
2.0.2 (2019-12-20)
Fixed ElasticsearchHandler swallowing exceptions details when failing to index log records
Fixed normalization of SoapFault objects containing non-strings as "detail" in LineFormatter
Fixed formatting of resources in JsonFormatter
Fixed RedisHandler failing to use MULTI properly when passed a proxied Redis instance (e.g. in Symfony with lazy services)
Fixed FilterHandler triggering a notice when handleBatch was filtering all records passed to it
Fixed Turkish locale messing up the conversion of level names to their constant values
2.0.1 (2019-11-13)
Fixed normalization of Traversables to avoid traversing them as not all of them are rewindable
Fixed setFormatter/getFormatter to forward to the nested handler in FilterHandler, FingersCrossedHandler, BufferHandler, OverflowHandler and SamplingHandler
Fixed BrowserConsoleHandler formatting when using multiple styles
Fixed normalization of exception codes to be always integers even for PDOException which have them as numeric strings
Fixed normalization of SoapFault objects containing non-strings as "detail"
Monolog\Logger::API can be used to distinguish between a Monolog 1 and 2
install of Monolog when writing integration code.
Removed non-PSR-3 methods to add records, all the add* (e.g. addWarning)
methods as well as emerg, crit, err and warn.
DateTime are now formatted with a timezone and microseconds (unless disabled).
Various formatters and log output might be affected, which may mess with log parsing
in some cases.
The datetime in every record array is now a DateTimeImmutable, not that you
should have been modifying these anyway.
The timezone is now set per Logger instance and not statically, either
via ->setTimezone or passed in the constructor. Calls to Logger::setTimezone
should be converted.
HandlerInterface has been split off and two new interfaces now exist for
more granular controls: ProcessableHandlerInterface and
FormattableHandlerInterface. Handlers not extending AbstractHandler
should make sure to implement the relevant interfaces.
HandlerInterface now requires the close method to be implemented. This
only impacts you if you implement the interface yourself, but you can extend
the new Monolog\Handler\Handler base class too.
There is no more default handler configured on empty Logger instances, if
you were relying on that you will not get any output anymore, make sure to
configure the handler you need.
LogglyFormatter
The records' datetime is not sent anymore. Only timestamp is sent to Loggly.
AmqpHandler
Log levels are not shortened to 4 characters anymore. e.g. a warning record
will be sent using the warning.channel routing key instead of warn.channel
as in 1.x.
The exchange name does not default to 'log' anymore, and it is completely ignored
now for the AMQP extension users. Only PHPAmqpLib uses it if provided.
RotatingFileHandler
The file name format must now contain {date} and the date format must be set
to one of the predefined FILE_PER_* constants to avoid issues with file rotation.
See setFilenameFormat.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually 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 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)
Bumps monolog/monolog from 1.26.0 to 2.2.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
1cb1cde
Update changelogd9cdb68
Merge branch '1.x' into main546dc08
Fix comparison3ee78ae
Simplify timeout handling and really allow millisecond precision, refs #15171850160
Merge remote-tracking branch 'milos-silni/add-support-ms-writetimeout' into mainff4378d
Mark elasticaFormatters $type arg as deprecated5fbd261
Merge pull request #1523 from patrickkusebauch/feature/Elastica79d1213
Fixed new Url9fc7a8a
Allow changing the date format after normalizer creation, fixes #145961e5ff2
Fix more instances of bad FormattableHandlerInterface usagesDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually 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 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)