yiisoft/log-target-db

Yii 日志库 - 数据库目标

1.0.0 2023-05-09 18:16 UTC

This package is auto-updated.

Last update: 2024-09-19 14:16:15 UTC


README

Yii

Yii 日志库 - 数据库目标


Latest Stable Version Total Downloads codecov Mutation testing badge static analysis type-coverage

此包为 yiisoft/log 库提供数据库目标。

支持的数据库

要求

  • PHP 8.0 或更高版本。
  • PDO PHP 扩展。

安装

可以使用 Composer 安装此包。

composer require yiisoft/log-target-db

创建数据库连接

更多信息请参阅 yiisoft/db

数据库准备

该包提供两种方式来准备数据库

  1. 原始 SQL。您可以使用它与应用程序中使用的迁移包一起使用。

  2. 使用 DbSchemaManagerensureTable()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 软件公司 维护。

支持项目

Open Collective

关注更新

Official website Twitter Telegram Facebook Slack