Monolog Versions Save

Sends your logs to files, sockets, inboxes, databases and various web services

1.25.5

3 years ago
  • Fixed array access on null in RavenHandler
  • Fixed unique_id in WebProcessor not being disableable

2.1.0

4 years ago
  • 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

1.25.4

4 years ago
  • 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

4 years ago
  • 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

1.25.3

4 years ago
  • 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

4 years ago
  • 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.

1.25.2

4 years ago
  • 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 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

1.25.1

4 years ago
  • Fixed forward-compatible interfaces to be compatible with Monolog 1.x too.

1.25.0

4 years ago
  • Deprecated SlackbotHandler, use SlackWebhookHandler or SlackHandler instead
  • Deprecated RavenHandler, use sentry/sentry 2.x and their Sentry\Monolog\Handler instead
  • Deprecated HipChatHandler, migrate to Slack and use SlackWebhookHandler or SlackHandler instead
  • Added forward-compatible interfaces and traits FormattableHandlerInterface, FormattableHandlerTrait, ProcessableHandlerInterface, ProcessableHandlerTrait. If you use modern PHP and want to make code compatible with Monolog 1 and 2 this can help. You will have to require at least Monolog 1.25 though.
  • Added support for RFC3164 (outdated BSD syslog protocol) to SyslogUdpHandler
  • Fixed issue in GroupHandler and WhatFailureGroupHandler where setting multiple processors would duplicate records
  • Fixed issue in SignalHandler restarting syscalls functionality
  • Fixed normalizers handling of exception backtraces to avoid serializing arguments in some cases
  • Fixed ZendMonitorHandler to work with the latest Zend Server versions
  • Fixed ChromePHPHandler to avoid sending more data than latest Chrome versions allow in headers (4KB down from 256KB).

2.0.0

4 years ago

This changelog includes 2.0.0-beta* changelogs too, to see changes since beta2 check the CHANGELOG.md file.

  • BC Break: This is a major release, see UPGRADE.md for details if you are coming from a 1.x release
  • BC Break: PHP 7.2 is now the minimum required PHP version.
  • BC Break: Removed SlackbotHandler, RavenHandler and HipChatHandler, see UPGRADE.md for details
  • BC Break: Monolog\Logger: The record timezone is now set per Logger instance and not statically anymore
  • BC Break: Monolog\Logger: Removed non-PSR-3 methods to add records, all the add* (e.g. addWarning) methods as well as emerg, crit, err and warn
  • BC Break: Monolog\Logger: methods log/debug/info/notice/warning/error/critical/alert/emergency now have explicit void return types
  • BC Break: Monolog\Logger: There is no more default handler configured on empty Logger instances
  • BC Break: Quite a few interface changes, only relevant if you implemented your own handlers/processors/formatters
  • BC Break: ElasticSearchHandler renamed to ElasticaHandler
  • BC Break: Various handler-specific breaks, see UPGRADE.md for details
  • Added scalar type hints and return hints in all the places it was possible. Switched strict_types on for more reliability.
  • Added DateTimeImmutable support, all record datetime are now immutable, and will toString/json serialize with the correct date format, including microseconds (unless disabled)
  • Added timezone and microseconds to the default date format
  • Added FallbackGroupHandler which works like the WhatFailureGroupHandler but stops dispatching log records as soon as one handler accepted it
  • Added OverflowHandler which will only flush log records to its nested handler when reaching a certain amount of logs (i.e. only pass through when things go really bad)
  • Added TelegramBotHandler to log records to a Telegram bot account
  • Added SendGridHandler to use the SendGrid API to send emails
  • Added NoopHandler which is similar to the NullHandle but does not prevent the bubbling of log records to handlers further down the configuration, useful for temporarily disabling a handler in configuration files
  • Added ProcessHandler to write log output to the STDIN of a given process
  • Added LogmaticHandler to use the Logmatic.io API to store log records
  • Added SqsHandler to send log records to an AWS SQS queue
  • Added ElasticsearchHandler to send records via the official ES library. Elastica users should now use ElasticaHandler instead of ElasticSearchHandler
  • Added HostnameProcessor that adds the machine's hostname to log records
  • Added a $dateFormat option to the PsrLogMessageProcessor which lets you format DateTime instances nicely
  • Added support for the PHP 7.x mongodb extension in the MongoDBHandler
  • Added support for RFC3164 (outdated BSD syslog protocol) to SyslogUdpHandler
  • Added support for JsonSerializable when normalizing exceptions
  • Added SoapFault details to formatted exceptions
  • Improved performance of LogglyHandler when sending multiple logs in a single request
  • Fixed support for UTF-8 when cutting strings to avoid cutting a multibyte-character in half
  • Fixed normalizers handling of exception backtraces to avoid serializing arguments in some cases
  • Fixed date timezone handling in SyslogUdpHandler
  • Fixed DeduplicationHandler silently failing to start when file could not be opened
  • Fixed issue in GroupHandler and WhatFailureGroupHandler where setting multiple processors would duplicate records
  • Fixed GelfFormatter losing some data when one attachment was too long
  • Fixed issue in SignalHandler restarting syscalls functionality
  • Fixed many minor issues in various handlers, and probably added a few regressions too