zero1 / module-custom-logging
允许您根据环境配置不同的日志 '堆栈'。这使您能够在非生产环境中设置 DEBUG 级别,在生产环境中设置 ERROR 级别。
1.0.1
2019-06-24 11:05 UTC
Requires
- php: ~5.5.0|~5.6.0|^7.0.0
- magento/product-community-edition: ^2.0.0
Suggests
- mdoq/module-connector: Improves DevOps for Magento2
This package is auto-updated.
Last update: 2024-09-25 07:07:55 UTC
README
允许按环境配置日志,同时仍将日志配置保留在源代码控制中。
100% 兼容 Mdoq
要设置,您需要将以下片段添加到适当的文件中。
在生产网站上,请确保将 stack
值更改为 production
。
除此之外,如果您正在运行多个 Webhead,您可以将 hardware_instance
值用于识别每个 Webhead。例如 admin-01
、web-asg-01
,这将随后添加到日志中。
env.php 配置示例
'logging' => [ 'hardware_instance' => 'server1-blahblah', 'stack' => 'non_production' ],
config.php 配置示例
'logging' => [ 'stacks' => [ 'production' => [ 'handlers' => [ 'productionDefaultLogger' => [], ], 'common_formatter' => \Monolog\Formatter\JsonFormatter::class, 'common_processors' => [ \Monolog\Processor\GitProcessor::class, \Monolog\Processor\IntrospectionProcessor::class, \Monolog\Processor\WebProcessor::class, \Zero1\CustomLogging\Logger\Processor\HardwareInstance::class, ] ], 'non_production' => [ 'handlers' => [ 'nonProductionDefaultLogger' => [], 'nonProductionDebugLogger' => [], ], 'common_formatter' => 'loggingLineFormatter', 'common_processors' => [ \Monolog\Processor\GitProcessor::class, \Monolog\Processor\IntrospectionProcessor::class, \Monolog\Processor\WebProcessor::class, \Zero1\CustomLogging\Logger\Processor\HardwareInstance::class, ] ] ] ]
附加信息
在 app/etc/env.php
中所做的更改是针对特定环境的。在这里,您可以配置要使用的日志 '堆栈'。此值将不在源代码控制中。'堆栈' 仅是一个指向在 app/etc/config.php
中定义的一组日志配置的友好名称。在 app/etc/config.php
中,您可以配置任意数量的不同堆栈,例如 'production'、'staging'、'local'。每个堆栈都存储在源代码控制中,以便代码库上的任何人都可以使用这些堆栈。
除了能够通过单个环境值更改 '堆栈' 之外,我们还可以向所有记录器添加附加内容,以便所有消息都包含此信息。默认示例添加了四个 '处理器',用于添加额外信息。
'common_processors' => [ \Monolog\Processor\GitProcessor::class, \Monolog\Processor\IntrospectionProcessor::class, \Monolog\Processor\WebProcessor::class, \Zero1\CustomLogging\Logger\Processor\HardwareInstance::class, ]
这些将被添加到所有处理器中
'handlers' => [ 'nonProductionDefaultLogger' => [], 'nonProductionDebugLogger' => [], ]
这些链接到在 etc/di.xml
中定义的记录器
这与 Magento 内核的不同之处
- 在 Magento 内核中,您必须在受源代码控制的文件中进行更改以更改日志详细程度。(这不理想,因为生产环境应该与预生产环境具有相同的源文件,但它们应该有不同的日志详细程度/设置)
- 在 Magento 内核中,无法配置不同记录器的堆栈。