All notable changes to this project will be documented in this file, in reverse chronological order by release.
Zend\Log\PsrLoggerAbstractAdapterFactory, which will create instances of PsrLoggerAdapter. Usage is exactly like with Zend\Log\LoggerAbstractServiceFactory, with the exception that it looks under the psr_log configuration key instead of the log key for logger configuration.#96 adds support for PHP 7.3.
#83 adds
ability to define custom ignored namespaces in addition to default Zend\Log
in Backtrace processor.
Zend\Log\Formatter\Json, which will format log lines as individual JSON
objects.FingersCrossed, Mongo, and MongoDB writers work under PHP
7.2.config service and
thus seeding them with configured plugin services. This means that the
log_processors, log_writers, log_filters, and log_formatters
configuration will now be honored in non-zend-mvc contexts.PsrPlaceholder processor plugin.LogFormatterProviderInterface when registering the
LogFormatterManager with the zend-modulemanager ServiceListener.Zend\Log\Formatter\Xml is escaped so that
XML entities will be properly emitted.Psr log writer.AbstractWriter whereby instantiating a
Zend\Log\Writer\FormatterPluginManager or FilterPluginManager prior to
creating a writer instance would lead to a naming conflict. New aliases were
added to prevent the conflict going forwards.log_filterslog_formatterslog_processorslog_writers
These follow the same configuration patterns as any other service
manager/plugin manager as implemented by zend-servicemanager.Additionally, you can now specify filer, formatter, and processor services when specifying writer configuration for a logger, as these are now backed by the above plugin managers.
MongoDb
writer to the list of available writer plugins; the writer was added in a
previous release, but never enabled within the default set of writers.Module::init() method to properly receive a ModuleManager instance, and
not expect a ModuleEvent.LogFilterProviderInterface and LogFormatterProviderInterface referenced in
the Module class starting in 2.8.0.Zend\Log\FilterPluginManagerFactory, which returns FilterPluginManager instances.Zend\Log\FormatterPluginManagerFactory, which returns FormatterPluginManager instances.Zend\Log\ProcessorPluginManagerFactory, which returns ProcessorPluginManager instances.Zend\Log\WriterPluginManagerFactory, which returns WriterPluginManager instances.ConfigProvider, which maps the available plugin managers to the
corresponding factories as listed above, maps the Logger class to the
LoggerServiceFactory, and registers the LoggerAbstractServiceFactory as
an abstract factory.Module, which does the same as ConfigProvider, but specifically for
zend-mvc applications. It also provices a specifications to
Zend\ModuleManager\Listener\ServiceListener to allow modules to provide
configuration for log filters, formatters, processors, and writers.chmod on files mounted via NFS on an NTFS partition when using the
stream writer.false,
allowing multiple instances of each plugin type. (This restores backwards
compatibility with versions prior to 2.7.)Zend\Log\Writer\Stream to allow setting the permission mode
for the stream. You can pass it as the optional fourth argument to the
constructor, or as the chmod option if using an options array.array to the
expected return types from Zend\Log\Formatter\FormatterInterface::format(),
codifying what we're already allowing.Zend\Log\Writer\FilterPluginManager is deprecated; use
Zend\Log\FilterPluginManager instead.Zend\Log\Writer\FormatterPluginManager is deprecated; use
Zend\Log\FormatterPluginManager instead.Zend\Log\PsrLoggerAdapter allows you to decorate a
Zend\Log\LoggerInterface instance so it can be used wherever a PSR-3
logger is expected.Zend\Log\Writer\Psr allows you to decorate a PSR-3 logger instance for use
as a log writer with Zend\Log\Logger.Zend\Log\Processor\PsrPlaceholder allows you to use PSR-3-compliant
message placeholders in your log messages; they will be substituted from
corresponding keys of values passed in the $extra array when logging the
message.Zend\Mail\Transport\Factory::create(); as an example: $writer = new MailWriter([
'mail' => [
// message options
],
'transport' => [
'type' => 'smtp',
'options' => [
'host' => 'localhost',
],
],
]);