yiisoft / log-target-db
Yii 日志库 - 数据库目标
1.0.0
2023-05-09 18:16 UTC
Requires
- php: ^8.0
- ext-pdo: *
- psr/log: ^3.0
- yiisoft/db: ^1.0
- yiisoft/log: ^2.0
Requires (Dev)
- maglnet/composer-require-checker: ^4.2
- phpunit/phpunit: ^9.6|^10.1
- rector/rector: ^0.15.1
- roave/infection-static-analysis-plugin: ^1.25|^1.29
- spatie/phpunit-watcher: ^1.23
- vimeo/psalm: ^4.8|^5.8
- yiisoft/cache: ^3.0
This package is auto-updated.
Last update: 2024-09-19 14:16:15 UTC
README
Yii 日志库 - 数据库目标
此包为 yiisoft/log 库提供数据库目标。
支持的数据库
要求
- PHP 8.0 或更高版本。
PDO
PHP 扩展。
安装
可以使用 Composer 安装此包。
composer require yiisoft/log-target-db
创建数据库连接
更多信息请参阅 yiisoft/db。
数据库准备
该包提供两种方式来准备数据库
-
原始 SQL。您可以使用它与应用程序中使用的迁移包一起使用。
-
确保表
-
确保没有表
-
-
使用
DbSchemaManager
的ensureTable()
、ensureNoTable()
方法确保日志表(默认为{{%yii_log}}
)。
// Create db schema manager $dbSchemaManager = new DbSchemaManager($db); // Ensure table with default name $dbSchemaManager->ensureTable(); // Ensure table with custom name $dbSchemaManager->ensureTable('{{%custom_log_table}}'); // Ensure no table with default name $dbSchemaManager->ensureNoTable(); // Ensure no table with custom name $dbSchemaManager->ensureNoTable('{{%custom_log_table}}');
通用用法
创建 \Yiisoft\Log\Logger
实例时,必须传递数据库连接实例。
创建目标
$dbTarget = new \Yiisoft\Log\Target\Db\DbTarget($db, $table);
$db (\Yiisoft\Db\Connection\ConnectionInterface)
- 数据库连接实例。$table (string)
- 存储日志消息的数据库表名。默认为 "log"。
创建日志记录器
$logger = new \Yiisoft\Log\Logger([$dbTarget]);
您可以使用多个数据库来存储日志消息
/** * @var \Yiisoft\Db\Connection\ConnectionInterface $mysqlDb * @var \Yiisoft\Db\Connection\ConnectionInterface $sqliteDb */ $logger = new \Yiisoft\Log\Logger([ new \Yiisoft\Log\Target\Db\DbTarget($mysqlDb), new \Yiisoft\Log\Target\Db\DbTarget($sqliteDb), ]);
文档
有关使用日志记录器的说明,请参阅 yiisoft/log 包。
如果您需要帮助或有问题,请访问 Yii 论坛。您还可以检查其他 Yii 社区资源。
许可证
Yii 日志库 - 数据库目标是免费软件。它在 BSD 许可证条款下发布。有关更多信息,请参阅 LICENSE
。
由 Yii 软件公司 维护。