Added Monolog\LogRecord interface that can be used to type-hint records like array|\Monolog\LogRecord $record to be forward compatible with the upcoming Monolog 3 changes
Added includeStacktraces constructor params to LineFormatter & JsonFormatter (#1603)
Added persistent, timeout, writingTimeout, connectionTimeout, chunkSize constructor params to SocketHandler and derivatives (#1600)
Added AsMonologProcessor PHP attribute which can help autowiring / autoconfiguration of processors if frameworks / integrations decide to make use of it. This is useless when used purely with Monolog (#1637)
Added support for keeping native BSON types as is in MongoDBFormatter (#1620)
Added support for a user_agent key in WebProcessor, disabled by default but you can use it by configuring the $extraFields you want (#1613)
Added support for username/userIcon in SlackWebhookHandler (#1617)
Added extension points to BrowserConsoleHandler (#1593)
Added record message/context/extra info to exceptions thrown when a StreamHandler cannot open its stream to avoid completely losing the data logged (#1630)
Fixed error handler signature to accept a null $context which happens with internal PHP errors (#1614)
Fixed a few setter methods not returning self (#1609)
Fixed handling of records going over the max Telegram message length (#1616)
2.3.5
Fixed regression in StreamHandler since 2.3.3 on systems with the memory_limit set to >=20GB (#1592)
Fixed compatibility with PHP 7.2 - 7.4 when experiencing PCRE errors (#1568)
2.3.1
Fixed Utils::getClass handling of anonymous classes not being fully compatible with PHP 8 (#1563)
Fixed some @inheritDoc annotations having the wrong case
2.3.0
Added a ton of PHPStan type annotations as well as type aliases on Monolog\Logger for Record, Level and LevelName that you can import (#1557)
Added ability to customize date format when using JsonFormatter (#1561)
Fixed FilterHandler not calling reset on its internal handler when reset() is called on it (#1531)
Fixed SyslogUdpHandler not setting the timezone correctly on DateTimeImmutable instances (#1540)
Fixed StreamHandler thread safety - chunk size set to 2GB now to avoid interlacing when doing concurrent writes (#1553)
2.2.0
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
Fixed AsMonologProcessor syntax to be compatible with PHP 7.2 (#1651)
2.4.0 (2022-03-14)
Added Monolog\LogRecord interface that can be used to type-hint records like array|\Monolog\LogRecord $record to be forward compatible with the upcoming Monolog 3 changes
Added includeStacktraces constructor params to LineFormatter & JsonFormatter (#1603)
Added persistent, timeout, writingTimeout, connectionTimeout, chunkSize constructor params to SocketHandler and derivatives (#1600)
Added AsMonologProcessor PHP attribute which can help autowiring / autoconfiguration of processors if frameworks / integrations decide to make use of it. This is useless when used purely with Monolog (#1637)
Added support for keeping native BSON types as is in MongoDBFormatter (#1620)
Added support for a user_agent key in WebProcessor, disabled by default but you can use it by configuring the $extraFields you want (#1613)
Added support for username/userIcon in SlackWebhookHandler (#1617)
Added extension points to BrowserConsoleHandler (#1593)
Added record message/context/extra info to exceptions thrown when a StreamHandler cannot open its stream to avoid completely losing the data logged (#1630)
Fixed error handler signature to accept a null $context which happens with internal PHP errors (#1614)
Fixed a few setter methods not returning self (#1609)
Fixed handling of records going over the max Telegram message length (#1616)
2.3.5 (2021-10-01)
Fixed regression in StreamHandler since 2.3.3 on systems with the memory_limit set to >=20GB (#1592)
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.5.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
4192345
Update changelog4c43f12
Link attribute file again508df12
Make AsMonologProcessor compatible with PHP 7.2f2f66cd
Fix tests77b71e0
Fix syntaxf0e0dba
added information about call type from debug_backtrace (#1612)0a023ff
Calculate exception message according to PHP version (#1644)cb3675e
Try fixing ciaffa44f
Fix formatting issued7fd745
Update changelogDependabot 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)