assisjeferson/cakephp-databaselog

CakePHP 数据库日志插件

安装: 72

依赖: 0

建议者: 0

安全性: 0

星星: 0

关注者: 1

分支: 21

类型:cakephp-plugin

2.3.4 2018-02-11 19:46 UTC

This package is auto-updated.

Last update: 2024-09-11 01:21:11 UTC


README

Build Status Coverage Status Latest Stable Version Minimum PHP Version License Total Downloads

CakePHP 应用程序的数据库日志引擎。

此分支适用于 CakePHP 3.x

功能

  • 易于设置,几乎没有依赖。
  • 默认使用 SQLite,作为轻量级单应用程序方法。
  • 非常适合多应用程序,其中将日志记录到文件并不方便。
  • 如果使用数据库,则在数据库不可达的情况下回退到 SQLite。
  • 包含简单的管理界面以查看/删除日志。
  • 包含基本的监控和警报系统。
  • 支持导出到 TXT 文件。

日志轮换

虽然文件处理需要文件日志轮换并将文件分割成(压缩的)文件块,但数据库方法可以更轻松地将日志保存在单个数据库中。在查看或搜索特定内容时这更为方便。

此插件将完全相同的“内容”的日志条目合并为具有增加计数的单行。此外,您还希望添加一个由 cronjob 触发的清理 shell,以保持总大小和行数在某个阈值以下。

演示

克隆并安装sandbox 应用,创建一些错误并浏览管理后端以查看日志概述。

或者直接将其附加到您的应用中。所需时间:5 分钟。

安装

Composer(首选)

composer require dereuromark/cakephp-databaselog

设置

在您的 config/bootstrap.php 中启用插件

Plugin::load('DatabaseLog', ['bootstrap' => true]);

或只需调用

bin/cake plugin load DatabaseLog -b

您可以直接修改 config/app.php 中的现有配置条目

   'Log' => [
   	'debug' => [
   		'className' => 'DatabaseLog.Database'
   	],
   	'error' => [
   		'className' => 'DatabaseLog.Database'
   	],
   ],

这将使用 database_log 连接和 SQLite 文件数据库,默认存储在您的 logs 文件夹中。

使用实际数据库(可选)

在您的 config/app.php 中创建一个配置设置,指定它应将日志记录到哪个数据库连接

'DatabaseLog' => [
	'datasource' => 'my_datasource', // DataSource to use
]

建议不要使用与您的生产服务器相同的数据源(default),因为当数据库不可达时,将无法将其记录到其中。在这种情况下,它将回退到此服务器实例上的 SQLite 文件记录。

一旦数据源可达,并且一旦第一次写入日志条目,数据库表(默认为 database_logs)将自动创建。无需手动运行任何迁移或 SQL 脚本。您也可以根据需要手动创建表。

bin/cake Migrations migrate -p DatabaseLog

或者只需将迁移文件复制到您的应用 /config/Migrations 中,根据需要修改,然后作为您应用迁移的一部分运行它。

目前已完全测试 PostgreSQL 和 MySQL,但通过使用 ORM,所有主要数据库都应该得到支持。

使用

在您的应用程序中任何调用 $this->log()Log::write() 的地方,都将使用数据库日志引擎。

$this->log('This is a detailed message logged to the database', 'error');
// or
Log::write('error', 'This is a detailed message logged to the database');

还有一个可浏览的 Web 后端,您可以使用它查看日志。

有关更多详细信息,请参阅文档