cakephp / log
支持多个不同流的目标的 CakePHP 日志库
5.1.0
2024-09-06 12:23 UTC
Requires
- php: >=8.1
- cakephp/core: ^5.1
- psr/log: ^3.0
Provides
- psr/log-implementation: ^3.0
- dev-master
- 5.x-dev
- 5.1.0
- 5.1.0-RC2
- 5.1.0-RC1
- 5.0.11
- 5.0.10
- 5.0.9
- 5.0.8
- 5.0.7
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.0
- 5.0.0-RC2
- 5.0.0-RC1
- 5.0.0-beta2
- 5.0.0-beta1
- 4.x-dev
- 4.5.7
- 4.5.6
- 4.5.5
- 4.5.4
- 4.5.3
- 4.5.2
- 4.5.1
- 4.5.0
- 4.5.0-RC1
- 4.4.17
- 4.4.16
- 4.4.15
- 4.4.14
- 4.4.13
- 4.4.12
- 4.4.11
- 4.4.10
- 4.4.9
- 4.4.8
- 4.4.7
- 4.4.6
- 4.4.5
- 4.4.4
- 4.4.3
- 4.4.2
- 4.4.1
- 4.4.0
- 4.4.0-RC2
- 4.4.0-RC1
- 4.3.x-dev
- 4.3.11
- 4.3.10
- 4.3.9
- 4.3.8
- 4.3.7
- 4.3.6
- 4.3.5
- 4.3.4
- 4.3.3
- 4.3.2
- 4.3.1
- 4.3.0
- 4.3.0-RC4
- 4.3.0-RC3
- 4.3.0-RC2
- 4.3.0-RC1
- 4.2.x-dev
- 4.2.12
- 4.2.11
- 4.2.10
- 4.2.9
- 4.2.8
- 4.2.7
- 4.2.6
- 4.2.5
- 4.2.4
- 4.2.3
- 4.2.2
- 4.2.1
- 4.2.0
- 4.2.0-RC1
- 4.2.0-beta1
- 4.1.7
- 4.1.6
- 4.1.5
- 4.1.4
- 4.1.3
- 4.1.2
- 4.1.1
- 4.1.0
- 4.1.0-RC2
- 4.1.0-RC1
- 4.1.0-beta1
- 4.0.x-dev
- 4.0.9
- 4.0.8
- 4.0.7
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 4.0.0-RC2
- 4.0.0-RC1
- 4.0.0-beta4
- 4.0.0-beta3
- 4.0.0-beta2
- 4.0.0-beta1
- 4.0.0-alpha1
- 3.x-dev
- 3.10.5
- 3.10.4
- 3.10.3
- 3.10.1
- 3.10.0
- 3.10.0-RC1
- 3.9.10
- 3.9.9
- 3.9.8
- 3.9.7
- 3.9.6
- 3.9.5
- 3.9.4
- 3.9.3
- 3.9.2
- 3.9.1
- 3.9.0
- 3.9.0-RC2
- 3.9.0-RC1
- 3.8.12
- 3.8.11
- 3.8.10
- 3.8.9
- 3.8.8
- 3.8.7
- 3.8.6
- 3.8.5
- 3.8.4
- 3.8.3
- 3.8.2
- 3.8.1
- 3.8.0
- 3.8.0-RC3
- 3.8.0-RC2
- 3.8.0-RC1
- 3.8.0-beta1
- 3.7.9
- 3.7.8
- 3.7.7
- 3.7.6
- 3.7.5
- 3.7.4
- 3.7.3
- 3.7.2
- 3.7.1
- 3.7.0
- 3.7.0-RC3
- 3.7.0-RC2
- 3.7.0-RC1
- 3.7.0-beta1
- 3.6.14
- 3.6.13
- 3.6.12
- 3.6.11
- 3.6.10
- 3.6.9
- 3.6.8
- 3.6.7
- 3.6.6
- 3.6.5
- 3.6.4
- 3.6.3
- 3.6.2
- 3.6.1
- 3.6.0
- 3.6.0-RC2
- 3.6.0-RC1
- 3.6.0-beta3
- 3.6.0-beta2
- 3.6.0-beta1
- 3.5.x-dev
- 3.5.17
- 3.5.15
- 3.5.14
- 3.5.13
- 3.5.12
- 3.5.11
- 3.5.10
- 3.5.9
- 3.5.8
- 3.5.7
- 3.5.6
- 3.5.5
- 3.5.4
- 3.5.3
- 3.5.2
- 3.5.1
- 3.5.0
- 3.5.0-RC2
- 3.5.0-RC1
- 3.4.x-dev
- 3.4.14
- 3.4.13
- 3.4.12
- 3.4.11
- 3.4.10
- 3.4.9
- 3.4.8
- 3.4.7
- 3.4.6
- 3.4.5
- 3.4.4
- 3.4.3
- 3.4.2
- 3.4.1
- 3.4.0
- 3.4.0-RC4
- 3.4.0-RC3
- 3.4.0-RC2
- 3.4.0-RC1
- 3.4.0-beta4
- 3.4.0-beta3
- 3.4.0-beta2
- 3.4.0-beta1
- 3.3.16
- 3.3.15
- 3.3.14
- 3.3.13
- 3.3.12
- 3.3.11
- 3.3.10
- 3.3.9
- 3.3.8
- 3.3.7
- 3.3.6
- 3.3.5
- 3.3.4
- 3.3.3
- 3.3.2
- 3.3.1
- 3.3.0
- 3.3.0-RC1
- 3.3.0-beta3
- 3.3.0-beta2
- 3.3.0-beta
- 3.2.x-dev
- 3.2.14
- 3.2.13
- 3.2.12
- 3.2.11
- 3.2.10
- 3.2.9
- 3.2.8
- 3.2.7
- 3.2.6
- 3.2.5
- 3.2.4
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.2.0-RC1
- 3.1.x-dev
- 3.1.13
- 3.1.10
- 3.1.9
- 3.1.8
- 3.1.7
- 3.1.6
- 3.1.5
- 3.1.4
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.1.0-RC1
- 3.1.0-beta2
- 3.1.0-beta
- 3.0.x-dev
- 3.0.18
- 3.0.15
- 3.0.13
- 3.0.12
- 3.0.11
- 3.0.10
- 3.0.9
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 3.0.0-RC2
- 3.0.0-RC1
- 3.0.0-beta3
- dev-5.next
- dev-4.next
- dev-3.next
- dev-3-1
- dev-3-0
This package is auto-updated.
Last update: 2024-09-21 03:06:41 UTC
README
CakePHP 日志库
Log 库提供了一个 Log
服务定位器,用于通过简单的接口与多个日志后端进行交互。使用 Log
类,可以将单个消息同时发送到多个日志后端,或者基于日志级别或上下文仅发送到其中一部分。
默认情况下,您可以使用文件或 Syslog 作为日志后端,但您可以使用实现 Psr\Log\LoggerInterface
的任何对象作为 Log
类的引擎。
用法
您可以根据应用程序的需求定义尽可能多或尽可能少的记录器。记录器应使用 Cake\Core\Log.
进行配置。例如:
use Cake\Cache\Cache; use Cake\Log\Log; // Short classname Log::config('local', [ 'className' => 'FileLog', 'levels' => ['notice', 'info', 'debug'], 'file' => '/path/to/file.log', ]); // Fully namespaced name. Log::config('production', [ 'className' => \Cake\Log\Engine\SyslogLog::class, 'levels' => ['warning', 'error', 'critical', 'alert', 'emergency'], ]);
您还可以通过提供一个闭包来创建记录器。
Log::config('special', function () { // Return any PSR-3 compatible logger return new MyPSR3CompatibleLogger(); });
或者直接注入一个实例
Log::config('special', new MyPSR3CompatibleLogger());
然后您可以使用 Log
类将消息传递给日志后端
Log::write('debug', 'Something did not work');
只有订阅了您要写入的日志级别的日志引擎才会接收到消息。在上面的示例中,只有 'local' 引擎会收到日志消息。
使用作用域过滤消息
Log 库支持消息过滤的另一层级别。通过使用作用域,您可以限制接收特定消息的日志引擎。
// Configure /logs/payments.log to receive all levels, but only // those with `payments` scope. Log::config('payments', [ 'className' => 'FileLog', 'levels' => ['error', 'info', 'warning'], 'scopes' => ['payments'], 'file' => '/logs/payments.log', ]); Log::warning('this gets written only to payments.log', ['scope' => ['payments']]);
文档
请确保您查阅了 官方文档