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)
2.7.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)
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)
2.6.0 (2022-05-10)
Deprecated SwiftMailerHandler, use SymfonyMailerHandler instead
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)
Fixed compatibility with PHP 7.2 - 7.4 when experiencing PCRE errors (#1568)
2.3.1 (2021-07-14)
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 (2021-07-05)
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 (2020-12-14)
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"
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.
2.0.0 (2019-08-30)
BC Break: This is a major release, see UPGRADE.md for details if you are coming from a 1.x release
BC Break: Logger methods log/debug/info/notice/warning/error/critical/alert/emergency now have explicit void return types
Added FallbackGroupHandler which works like the WhatFailureGroupHandler but stops dispatching log records as soon as one handler accepted it
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
2.0.0-beta2 (2019-07-06)
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
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 (2018-12-08)
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 as emerg, crit, err and warn
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.26.1 (2021-05-28)
Fixed PHP 8.1 deprecation warning
1.26.0 (2020-12-14)
Added $dateFormat and $removeUsedContextFields arguments to PsrLogMessageProcessor (backport from 2.x)
1.25.5 (2020-07-23)
Fixed array access on null in RavenHandler
Fixed unique_id in WebProcessor not being disableable
1.25.4 (2020-05-22)
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.3 (2019-12-20)
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.2 (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 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 (2019-09-06)
Fixed forward-compatible interfaces to be compatible with Monolog 1.x too.
1.25.0 (2019-09-06)
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).
1.24.0 (2018-11-05)
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.
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 (2017-06-19)
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 (2017-03-13)
Fixed lots of minor issues in the new Slack integrations
Fixed support for allowInlineLineBreaks in LineFormatter when formatting exception backtraces
1.22.0 (2016-11-26)
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 occurring 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 (2016-07-29)
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 explicitly 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
1.20.0 (2016-07-02)
Added FingersCrossedHandler::activate() to manually trigger the handler regardless of the activation policy
Added StreamHandler::getUrl to retrieve the stream's URL
Added ability to override addRow/addTitle in HtmlFormatter
Added the $context to context information when the ErrorHandler handles a regular php error
Deprecated RotatingFileHandler::setFilenameFormat to only support 3 formats: Y, Y-m and Y-m-d
Fixed WhatFailureGroupHandler to work with PHP7 throwables
Fixed a few minor bugs
1.19.0 (2016-04-12)
Break: StreamHandler will not close streams automatically that it does not own. If you pass in a stream (not a path/url), then it will not close it for you. You can retrieve those using getStream() if needed
Added DeduplicationHandler to remove duplicate records from notifications across multiple requests, useful for email or other notifications on errors
Added ability to use %message% and other LineFormatter replacements in the subject line of emails sent with NativeMailHandler and SwiftMailerHandler
Fixed HipChatHandler handling of long messages
1.18.2 (2016-04-02)
Fixed ElasticaFormatter to use more precise dates
Fixed GelfMessageFormatter sending too long messages
1.18.1 (2016-03-13)
Fixed SlackHandler bug where slack dropped messages randomly
Fixed RedisHandler issue when using with the PHPRedis extension
Fixed AmqpHandler content-type being incorrectly set when using with the AMQP extension
Fixed BrowserConsoleHandler regression
1.18.0 (2016-03-01)
Added optional reduction of timestamp precision via Logger->useMicrosecondTimestamps(false), disabling it gets you a bit of performance boost but reduces the precision to the second instead of microsecond
Added possibility to skip some extra stack frames in IntrospectionProcessor if you have some library wrapping Monolog that is always adding frames
Added Logger->withName to clone a logger (keeping all handlers) with a new name
Added FluentdFormatter for the Fluentd unix socket protocol
Added HandlerWrapper base class to ease the creation of handler wrappers, just extend it and override as needed
Added support for replacing context sub-keys using %context.*% in LineFormatter
Added support for payload context value in RollbarHandler
Added setRelease to RavenHandler to describe the application version, sent with every log
Added support for fingerprint context value in RavenHandler
Fixed JSON encoding errors that would gobble up the whole log record, we now handle those more gracefully by dropping chars as needed
Fixed write timeouts in SocketHandler and derivatives, set to 10sec by default, lower it with setWritingTimeout()
Fixed PHP7 compatibility with regard to Exception/Throwable handling in a few places
1.17.2 (2015-10-14)
Fixed ErrorHandler compatibility with non-Monolog PSR-3 loggers
Fixed SlackHandler handling to use slack functionalities better
Fixed SwiftMailerHandler bug when sending multiple emails they all had the same id
Fixed 5.3 compatibility regression
1.17.1 (2015-08-31)
Fixed RollbarHandler triggering PHP notices
1.17.0 (2015-08-30)
Added support for checksum and release context/extra values in RavenHandler
Added better support for exceptions in RollbarHandler
Added UidProcessor::getUid
Added support for showing the resource type in NormalizedFormatter
Added Logger::setHandlers() to allow setting/replacing all handlers
Added $capSize in RedisHandler to cap the log size
Fixed StreamHandler creation of directory to only trigger when the first log write happens
Fixed bug in the handling of curl failures
Fixed duplicate logging of fatal errors when both error and fatal error handlers are registered in monolog's ErrorHandler
Fixed missing fatal errors records with handlers that need to be closed to flush log records
Fixed TagProcessor::addTags support for associative arrays
1.15.0 (2015-07-12)
Added addTags and setTags methods to change a TagProcessor
Added automatic creation of directories if they are missing for a StreamHandler to open a log file
Added retry functionality to Loggly, Cube and Mandrill handlers so they retry up to 5 times in case of network failure
Fixed process exit code being incorrectly reset to 0 if ErrorHandler::registerExceptionHandler was used
Fixed HTML/JS escaping in BrowserConsoleHandler
Fixed JSON encoding errors being silently suppressed (PHP 5.5+ only)
1.14.0 (2015-06-19)
Added PHPConsoleHandler to send record to Chrome's PHP Console extension and library
Added support for objects implementing __toString in the NormalizerFormatter
Added support for HipChat's v2 API in HipChatHandler
Added Logger::setTimezone() to initialize the timezone monolog should use in case date.timezone isn't correct for your app
Added an option to send formatted message instead of the raw record on PushoverHandler via ->useFormattedMessage(true)
Fixed curl errors being silently suppressed
1.13.1 (2015-03-09)
Fixed regression in HipChat requiring a new token to be created
1.13.0 (2015-03-05)
Added Registry::hasLogger to check for the presence of a logger instance
Added context.user support to RavenHandler
Added HipChat API v2 support in the HipChatHandler
Added NativeMailerHandler::addParameter to pass params to the mail() process
Added context data to SlackHandler when $includeContextAndExtra is true
Added ability to customize the Swift_Message per-email in SwiftMailerHandler
Fixed SwiftMailerHandler to lazily create message instances if a callback is provided
Fixed serialization of INF and NaN values in Normalizer and LineFormatter
1.12.0 (2014-12-29)
Break: HandlerInterface::isHandling now receives a partial record containing only a level key. This was always the intent and does not break any Monolog handler but is strictly speaking a BC break and you should check if you relied on any other field in your own handlers.
Added PsrHandler to forward records to another PSR-3 logger
Added SamplingHandler to wrap around a handler and include only every Nth record
Added MongoDBFormatter to support better storage with MongoDBHandler (it must be enabled manually for now)
Added exception codes in the output of most formatters
Added LineFormatter::includeStacktraces to enable exception stack traces in logs (uses more than one line)
Added $useShortAttachment to SlackHandler to minify attachment size and $includeExtra to append extra data
Added $host to HipChatHandler for users of private instances
Added $transactionName to NewRelicHandler and support for a transaction_name context value
Fixed MandrillHandler to avoid outputting API call responses
Fixed some non-standard behaviors in SyslogUdpHandler
1.11.0 (2014-09-30)
Break: The NewRelicHandler extra and context data are now prefixed with extra_ and context_ to avoid clashes. Watch out if you have scripts reading those from the API and rely on names
Added WhatFailureGroupHandler to suppress any exception coming from the wrapped handlers and avoid chain failures if a logging service fails
Added MandrillHandler to send emails via the Mandrillapp.com API
Added SlackHandler to log records to a Slack.com account
Added FleepHookHandler to log records to a Fleep.io account
Added LogglyHandler::addTag to allow adding tags to an existing handler
Added $ignoreEmptyContextAndExtra to LineFormatter to avoid empty [] at the end
Added $useLocking to StreamHandler and RotatingFileHandler to enable flock() while writing
Added support for PhpAmqpLib in the AmqpHandler
Added FingersCrossedHandler::clear and BufferHandler::clear to reset them between batches in long running jobs
Added support for adding extra fields from $_SERVER in the WebProcessor
Fixed support for non-string values in PrsLogMessageProcessor
Fixed SwiftMailer messages being sent with the wrong date in long running scripts
Fixed minor PHP 5.6 compatibility issues
Fixed BufferHandler::close being called twice
1.10.0 (2014-06-04)
Added Logger::getHandlers() and Logger::getProcessors() methods
Added $passthruLevel argument to FingersCrossedHandler to let it always pass some records through even if the trigger level is not reached
Added support for extra data in NewRelicHandler
Added $expandNewlines flag to the ErrorLogHandler to create multiple log entries when a message has multiple lines
1.9.1 (2014-04-24)
Fixed regression in RotatingFileHandler file permissions
Fixed initialization of the BufferHandler to make sure it gets flushed after receiving records
Fixed ChromePHPHandler and FirePHPHandler's activation strategies to be more conservative
1.9.0 (2014-04-20)
Added LogEntriesHandler to send logs to a LogEntries account
Added $filePermissions to tweak file mode on StreamHandler and RotatingFileHandler
Added $useFormatting flag to MemoryProcessor to make it send raw data in bytes
Added support for table formatting in FirePHPHandler via the table context key
Added a TagProcessor to add tags to records, and support for tags in RavenHandler
Added $appendNewline flag to the JsonFormatter to enable using it when logging to files
Added sound support to the PushoverHandler
Fixed multi-threading support in StreamHandler
Fixed empty headers issue when ChromePHPHandler received no records
Fixed default format of the ErrorLogHandler
1.8.0 (2014-03-23)
Break: the LineFormatter now strips newlines by default because this was a bug, set $allowInlineLineBreaks to true if you need them
Added BrowserConsoleHandler to send logs to any browser's console via console.log() injection in the output
Added FilterHandler to filter records and only allow those of a given list of levels through to the wrapped handler
Added FlowdockHandler to send logs to a Flowdock account
Added RollbarHandler to send logs to a Rollbar account
Added HtmlFormatter to send prettier log emails with colors for each log level
Added GitProcessor to add the current branch/commit to extra record data
Added a Monolog\Registry class to allow easier global access to pre-configured loggers
Added support for the new official graylog2/gelf-php lib for GelfHandler, upgrade if you can by replacing the mlehner/gelf-php requirement
Added support for HHVM
Added support for Loggly batch uploads
Added support for tweaking the content type and encoding in NativeMailerHandler
Added $skipClassesPartials to tweak the ignored classes in the IntrospectionProcessor
Fixed batch request support in GelfHandler
1.7.0 (2013-11-14)
Added ElasticSearchHandler to send logs to an Elastic Search server
Added DynamoDbHandler and ScalarFormatter to send logs to Amazon's Dynamo DB
Added SyslogUdpHandler to send logs to a remote syslogd server
Added LogglyHandler to send logs to a Loggly account
Added $level to IntrospectionProcessor so it only adds backtraces when needed
Added $version to LogstashFormatter to allow using the new v1 Logstash format
Added $appName to NewRelicHandler
Added configuration of Pushover notification retries/expiry
Added $maxColumnWidth to NativeMailerHandler to change the 70 chars default
Added chainability to most setters for all handlers
Fixed RavenHandler batch processing so it takes the message from the record with highest priority
Fixed HipChatHandler batch processing so it sends all messages at once
Fixed issues with eAccelerator
Fixed and improved many small things
1.6.0 (2013-07-29)
Added HipChatHandler to send logs to a HipChat chat room
Added ErrorLogHandler to send logs to PHP's error_log function
Added NewRelicHandler to send logs to NewRelic's service
Added Monolog\ErrorHandler helper class to register a Logger as exception/error/fatal handler
Added ChannelLevelActivationStrategy for the FingersCrossedHandler to customize levels by channel