fusionspim / monolog-logdna

A Monolog handler and formatter for LogDNA
MIT License
7 stars 2 forks source link

Bump monolog/monolog from 2.8.0 to 3.2.0 #108

Closed dependabot[bot] closed 2 years ago

dependabot[bot] commented 2 years ago

Bumps monolog/monolog from 2.8.0 to 3.2.0.

Release notes

Sourced from monolog/monolog's releases.

3.2.0

  • Deprecated CubeHandler and PHPConsoleHandler as both projects are abandoned and those should not be used anymore (#1734)
  • Marked Logger @final as it should not be extended, prefer composition or talk to us if you are missing something
  • Added RFC 5424 level (7 to 0) support to Logger::log and Logger::addRecord to increase interoperability (#1723)
  • Added SyslogFormatter to output syslog-like files which can be consumed by tools like lnav (#1689)
  • Added support for __toString for objects which are not json serializable in JsonFormatter (#1733)
  • Added GoogleCloudLoggingFormatter (#1719)
  • Added support for Predis 2.x (#1732)
  • Added AmqpHandler->setExtraAttributes to allow configuring attributes when using an AMQPExchange (#1724)
  • Fixed serialization/unserialization of handlers to make sure private properties are included (#1727)
  • Fixed allowInlineLineBreaks in LineFormatter causing issues with windows paths containing \n or \r sequences (#1720)
  • Fixed max normalization depth not being taken into account when formatting exceptions with a deep chain of previous exceptions (#1726)
  • Fixed PHP 8.2 deprecation warnings (#1722)
  • Fixed rare race condition or filesystem issue where StreamHandler is unable to create the directory the log should go into yet it exists already (#1678)

3.1.0

  • Added $datetime parameter to Logger::addRecord as low level API to allow logging into the past or future (#1682)
  • Added Logger::useLoggingLoopDetection to allow disabling cyclic logging detection in concurrent frameworks (#1681)
  • Fixed handling of fatal errors if callPrevious is disabled in ErrorHandler (#1670)
  • Fixed v2/v3 interop issue by removing the need for a return type in ProcessorInterface (#1680)
  • Marked the reusable Monolog\Test\TestCase class as @internal to make sure PHPStorm does not show it above PHPUnit, you may still use it to test your own handlers/etc though (#1677)
  • Fixed RotatingFileHandler issue when the date format contained slashes (#1671)

3.0.0

This is mostly a cleanup release offering stronger type guarantees for integrators with the array->object/enum changes, but there is no big new feature for end users.

See UPGRADE notes for details on all breaking changes especially if you are extending/implementing Monolog classes/interfaces.

Noteworthy BC Breaks:

  • The minimum supported PHP version is now 8.1.0.
  • 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.
  • Log levels are now stored as an enum Monolog\Level
  • Removed deprecated SwiftMailerHandler, migrate to SymfonyMailerHandler instead.
  • ResettableInterface::reset() now requires a void return type.
  • 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.

... (truncated)

Changelog

Sourced from monolog/monolog's changelog.

3.2.0 (2022-07-24)

  • Deprecated CubeHandler and PHPConsoleHandler as both projects are abandoned and those should not be used anymore (#1734)
  • Marked Logger @final as it should not be extended, prefer composition or talk to us if you are missing something
  • Added RFC 5424 level (7 to 0) support to Logger::log and Logger::addRecord to increase interoperability (#1723)
  • Added SyslogFormatter to output syslog-like files which can be consumed by tools like lnav (#1689)
  • Added support for __toString for objects which are not json serializable in JsonFormatter (#1733)
  • Added GoogleCloudLoggingFormatter (#1719)
  • Added support for Predis 2.x (#1732)
  • Added AmqpHandler->setExtraAttributes to allow configuring attributes when using an AMQPExchange (#1724)
  • Fixed serialization/unserialization of handlers to make sure private properties are included (#1727)
  • Fixed allowInlineLineBreaks in LineFormatter causing issues with windows paths containing \n or \r sequences (#1720)
  • Fixed max normalization depth not being taken into account when formatting exceptions with a deep chain of previous exceptions (#1726)
  • Fixed PHP 8.2 deprecation warnings (#1722)
  • Fixed rare race condition or filesystem issue where StreamHandler is unable to create the directory the log should go into yet it exists already (#1678)

3.1.0 (2022-06-09)

  • Added $datetime parameter to Logger::addRecord as low level API to allow logging into the past or future (#1682)
  • Added Logger::useLoggingLoopDetection to allow disabling cyclic logging detection in concurrent frameworks (#1681)
  • Fixed handling of fatal errors if callPrevious is disabled in ErrorHandler (#1670)
  • Fixed interop issue by removing the need for a return type in ProcessorInterface (#1680)
  • Marked the reusable Monolog\Test\TestCase class as @internal to make sure PHPStorm does not show it above PHPUnit, you may still use it to test your own handlers/etc though (#1677)
  • Fixed RotatingFileHandler issue when the date format contained slashes (#1671)

3.0.0 (2022-05-10)

Changes from RC1

  • The Monolog\LevelName enum does not exist anymore, use Monolog\Level->getName() instead.

3.0.0-RC1 (2022-05-08)

This is mostly a cleanup release offering stronger type guarantees for integrators with the array->object/enum changes, but there is no big new feature for end users.

See UPGRADE notes for details on all breaking changes especially if you are extending/implementing Monolog classes/interfaces.

Noteworthy BC Breaks:

  • The minimum supported PHP version is now 8.1.0.
  • 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

... (truncated)

Upgrade guide

Sourced from monolog/monolog's upgrade guide.

3.0.0

Overall / notable changes:

  • The minimum supported PHP version is now 8.1.0.
  • 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.
  • Log levels are now stored as an enum Monolog\Level
  • 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.

... (truncated)

Commits


Dependabot compatibility score

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)
ziadoz commented 2 years ago

Closing this for now.

dependabot[bot] commented 2 years ago

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.