adeira/monolog

此包已被废弃,不再维护。未建议替代包。

v1.0.2 2017-01-20 22:20 UTC

This package is not auto-updated.

Last update: 2022-02-01 13:01:49 UTC


README

目前我没有时间、精力和金钱来维护这个项目。但是如果你依赖这个项目,并想成为赞助者或进一步开发它,请毫不犹豫地联系我。否则,我无法保证这个仓库的辉煌未来... :)

更多令人惊叹的 Nette Framework Monolog

Build Status

此包扩展了 Kdyby\Monolog 以使其更加灵活、可配置和出色。

灵感来源

安装

composer require adeira/monolog

并在 config.neon 中注册 DI 扩展

extensions:
	monolog: Adeira\Monolog\DI\MonologExtension

默认配置

adeira/monolog 默认带来了许多 格式化器处理器。这意味着你可以通过名称来使用它们。以下是默认值的完整列表

formatters:
	chromePHP: Monolog\Formatter\ChromePHPFormatter
	fluentd: Monolog\Formatter\FluentdFormatter
	gelfMessage: Monolog\Formatter\GelfMessageFormatter
	html: Monolog\Formatter\HtmlFormatter
	json: Monolog\Formatter\JsonFormatter
	line: Monolog\Formatter\LineFormatter
	loggly: Monolog\Formatter\LogglyFormatter
	mongoDB: Monolog\Formatter\MongoDBFormatter
	normalizer: Monolog\Formatter\NormalizerFormatter
	dcalar: Monolog\Formatter\ScalarFormatter
	wildfire: Monolog\Formatter\WildfireFormatter

processors:
	git: Monolog\Processor\GitProcessor
	introspection: Monolog\Processor\IntrospectionProcessor
	memoryPeakUsage: Monolog\Processor\MemoryPeakUsageProcessor
	memoryUsage: Monolog\Processor\MemoryUsageProcessor
	processId: Monolog\Processor\ProcessIdProcessor
	psrLogMessage: Monolog\Processor\PsrLogMessageProcessor
	tag: Monolog\Processor\TagProcessor
	uid: Monolog\Processor\UidProcessor
	web: Monolog\Processor\WebProcessor

handlers:
	errorLog:
		class: Monolog\Handler\ErrorLogHandler

loggers:
	global:
		class: Kdyby\Monolog\Logger # including custom global handlers and processors

你不必将此粘贴到配置文件中。这只是一个快速参考,以便您可以快速找到所需的内容。

覆盖配置

每个格式化器和处理器尽可能使用默认配置。如果您想自定义配置,可以像这样轻松覆盖它

monolog:
	processors:
		web: Monolog\Processor\WebProcessor(NULL, [
				ip: REMOTE_ADDR,
				userAgent: HTTP_USER_AGENT,
			])

更改全局记录器配置并添加自己的记录器

如您所知,此包扩展了 kdyby\monolog。并且整个应用程序都有一个默认的全局记录器。您可以使用 global 名称在 loggers 部分中配置它。其他记录器将独立注册(带有名称或匿名)

monolog:
	handlers:
		slack:
			class: Adeira\Monolog\Handler\SlackHandler(
				%productionMode%,
				%slack.token%,
				%slack.channel%,
				%slack.username%,
				%slack.useAttachment%,
				%slack.iconEmoji%,
				%slack.level%,
				%slack.bubble%,
				%slack.useShortAttachment%,
				%slack.includeContextAndExtra%
			)
	loggers:
		global: # global logger from Kdyby (\Kdyby\Monolog\Logger)
			handlers: [slack]
			processors: [git, introspection, web]
		- class: Custom\Monolog\Loggers\UsersAuditLogger
		  handlers: [database]

这样,您可以设置许多具有不同配置(处理器、处理器、格式化器)的记录器。您的自定义记录器就像 DI 容器中的服务一样,因此您可以使用自动装配来获取它们。没有什么特别的。记住,从 \Monolog\Logger 或更好的 \Kdyby\Monolog\Logger 扩展这些自定义记录器是个好主意。

使用 Kdyby 配置选项

adeira/monolog 不与 Kdyby 配置互动,因此如果您愿意,可以使用它而不进行更改

monolog:
	hookToTracy: yes
	registerFallback: yes
	usePriorityProcessor: yes

太棒了? :)