scissorhands / ci-logs
1.0.5
2017-02-13 20:53 UTC
Requires
- monolog/monolog: ^1.22
- scissorhands/ci-utilities: ^1.1
- wazaari/monolog-mysql: 1.0.3
README
Codeigniter 和 Monolog 的简单集成
安装
使用 composer 安装 composer require scissorhands/ci-logs
测试
编辑 composer.json 文件中的 autoload 部分
"autoload": {
"psr-4": {
"ciutil\\": "vendor/scissorhands/ci-utilities/",
"cilogs\\": "vendor/scissorhands/ci-logs/"
}
}
添加一个新的迁移文件,扩展自库迁移
<?php
use cilogs\application\migrations\Create_logs_table as Logs_migration;
defined('BASEPATH') OR exit('No direct script access allowed');
class Migration_Create_logs_table extends Logs_migration {
public function __construct()
{
parent::__construct();
}
}
运行迁移
创建 Logger 模型并扩展自库模型
<?php
use cilogs\application\models\Logger_model as CILogger;
defined('BASEPATH') OR exit('No direct script access allowed');
class Logger_model extends CILogger {
public function __construct()
{
parent::__construct();
}
}
创建示例控制器
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Test extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('logger_model', 'logger');
$this->logger->init('testing', [
'log_table' => 'app_logs',
'extra_fields' => ['client_id']
]);
}
public function log2db()
{
$this->logger->log('Hello world', [
'client_id' => 123456,
], 'info');
}
}
运行示例 php index.php test log2db
用法
加载并初始化模型
$this->load->model('logger_model', 'logger');
$this->logger->init('channel_name', [
'log_table' => 'table_name',
/* Extra fields in case you need them */
//'extra_fields' => ['extra_field']
]);
将日志记录到数据库和文件中
$this->logger->log('message_to_log', [/*extra_fields_associative_array*/], 'log_level');