Releases: Seldaek/monolog
Releases · Seldaek/monolog
1.25.1
1.25.0
- 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
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 asemerg
,crit
,err
andwarn
- 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
2.0.0-beta2
- BC Break: This is a major release, see UPGRADE.md and the 2.0.0-beta1 changelog 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
- 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 support for JsonSerializable when normalizing exceptions
- Added support for RFC3164 (outdated BSD syslog protocol) to SyslogUdpHandler
- Added SoapFault details to formatted exceptions
- 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
- Improved performance of LogglyHandler when sending multiple logs in a single request
2.0.0-beta1
- 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.1 is now the minimum required PHP version.
- BC Break: Quite a few interface changes, only relevant if you implemented your own handlers/processors/formatters
- BC Break: Removed non-PSR-3 methods to add records, all the
add*
(e.g.addWarning
) methods as well asemerg
,crit
,err
andwarn
- BC Break: The record timezone is now set per Logger instance and not statically anymore
- BC Break: There is no more default handler configured on empty Logger instances
- 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 SendGridHandler to use the SendGrid API to send emails
- 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 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 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 - Fixed many minor issues in various handlers, and probably added a few regressions too
1.24.0
- BC Notice: If you are extending any of the Monolog's Formatters'
normalize
method, make sure you add the new$depth = 0
argument to your function signature to avoid strict PHP warnings. See #808 for more details. - Added a
ResettableInterface
in order to reset/reset/clear/flush handlers and processors - Added a
ProcessorInterface
as an optional way to label a class as being a processor (mostly useful for autowiring dependency containers) - Added a way to log signals being received using Monolog\SignalHandler
- Added ability to customize error handling at the Logger level using Logger::setExceptionHandler
- Added InsightOpsHandler to migrate users of the LogEntriesHandler
- Added protection to NormalizerFormatter against circular and very deep structures, it now stops normalizing at a depth of 9
- Added capture of stack traces to ErrorHandler when logging PHP errors
- Added RavenHandler support for a
contexts
context or extra key to forward that to Sentry's contexts - Added forwarding of context info to FluentdFormatter
- Added SocketHandler::setChunkSize to override the default chunk size in case you must send large log lines to rsyslog for example
- Added ability to extend/override BrowserConsoleHandler
- Added SlackWebhookHandler::getWebhookUrl and SlackHandler::getToken to enable class extensibility
- Added SwiftMailerHandler::getSubjectFormatter to enable class extensibility
- Dropped official support for HHVM in test builds
- Fixed normalization of exception traces when call_user_func is used to avoid serializing objects and the data they contain
- Fixed naming of fields in Slack handler, all field names are now capitalized in all cases
- Fixed HipChatHandler bug where slack dropped messages randomly
- Fixed normalization of objects in Slack handlers
- Fixed support for PHP7's Throwable in NewRelicHandler
- Fixed race bug when StreamHandler sometimes incorrectly reported it failed to create a directory
- Fixed table row styling issues in HtmlFormatter
- Fixed RavenHandler dropping the message when logging exception
- Fixed WhatFailureGroupHandler skipping processors when using handleBatch
and implement it where possible - Fixed display of anonymous class names
1.23.0
- Improved SyslogUdpHandler's support for RFC5424 and added optional
$ident
argument - Fixed GelfHandler truncation to be per field and not per message
- Fixed compatibility issue with PHP <5.3.6
- Fixed support for headless Chrome in ChromePHPHandler
- Fixed support for latest Aws SDK in DynamoDbHandler
- Fixed support for SwiftMailer 6.0+ in SwiftMailerHandler
1.22.1
1.22.0
- Added SlackbotHandler and SlackWebhookHandler to set up Slack integration more easily
- Added MercurialProcessor to add mercurial revision and branch names to log records
- Added support for AWS SDK v3 in DynamoDbHandler
- Fixed fatal errors occuring when normalizing generators that have been fully consumed
- Fixed RollbarHandler to include a level (rollbar level), monolog_level (original name), channel and datetime (unix)
- Fixed RollbarHandler not flushing records automatically, calling close() explicitly is not necessary anymore
- Fixed SyslogUdpHandler to avoid sending empty frames
- Fixed a few PHP 7.0 and 7.1 compatibility issues
1.21.0
- Break: Reverted the addition of $context when the ErrorHandler handles regular php errors from 1.20.0 as it was causing issues
- Added support for more formats in RotatingFileHandler::setFilenameFormat as long as they have Y, m and d in order
- Added ability to format the main line of text the SlackHandler sends by explictly setting a formatter on the handler
- Added information about SoapFault instances in NormalizerFormatter
- Added $handleOnlyReportedErrors option on ErrorHandler::registerErrorHandler (default true) to allow logging of all errors no matter the error_reporting level