urumuqi/dblog

laravel通用日志,将日志保存到数据库

v0.0.7 2020-12-03 00:55 UTC

This package is auto-updated.

Last update: 2024-09-29 05:36:21 UTC


README

此库提供2个方法,允许写入和读取日志。

Log服务已注册到laravel服务容器中作为单例

尽量保持代码简单。

读写定义

/**
 * save log content.
 *
 * @param string $bizTag
 * @param string $actionTag
 * @param array  $content
 * @param string $operator
 * @param string $traceKey
 *
 * @return boolean
 */
public function write($bizTag, $actionTag, array $content, $operator = '', $traceKey = '')

/**
 * read log.
 *
 * @param string  $bizTag
 * @param string  $actionTag
 * @param string  $traceKey
 * @param string  $operator
 * @param integer $pageNum
 * @param integer $pageSize
 * @param boolean $asc      true order by asc | false order by desc
 *
 * @return array
 */
public function read($bizTag, $actionTag = '', $traceKey = '', $operator = '', $pageNum = 1, $pageSize = 15, $asc = true)

/**
 * read log content by trace_key.
 *
 * @param string  $traceKey
 * @param integer $pageNum
 * @param integer $pageSize
 * @param boolean $asc      asc or desc
 *
 * @return array
 */
public function readByTraceKey($traceKey, $pageNum = 1, $pageSize = 15, $asc = true)

/**
 * read by biz_tag.
 *
 * @param string  $bizTag
 * @param integer $pageNum
 * @param integer $pageSize
 * @param boolean $asc
 *
 * @return array
 */
public function readByBizTag($bizTag, $pageNum = 1, $pageSize = 20, $asc = true)

/**
 * read by biz_tag and trace_key.
 *
 * @param string  $bizTag
 * @param string  $traceKey
 * @param integer $pageNum
 * @param integer $pageSize
 * @param boolean $asc
 *
 * @return void
 */
public function readByBizTraceKey($bizTag, $traceKey, $pageNum = 1, $pageSize = 20, $asc = true)

/**
 * read by operator.
 *
 * @param string  $operator
 * @param string  $bizTag
 * @param integer $pageNum
 * @param integer $pageSize
 * @param boolean $asc
 *
 * @return array
 */
public function readByOperator($operator, $bizTag = '', $pageNum = 1, $pageSize = 20, $asc = true)

/**
 * 根据条件查询日志.
 *
 * @param array   $cond
 * @param boolean $asc
 * 
 * @return array
 */
public function queryLogByCond(array $cond, $asc = true)

/**
 * 返回结构.
 */
$pageResult = [
    'data' => [],
    'total' => 10,
];

涉及laravel

composer require urumuqi/dblog

在config/app.php中添加LogProvider

'providers' => [
    Urumuqi\DbLog\LogProvider::class,
],

运行迁移,创建dblog表

php artisan migrate

用法

$dblog = app('dblog');
$bizTag = 'dblogtest';
$actionTag = 'new';
$logContent = [
    'package' => 'urumuqi/dblog',
    'author' => 'urumuqi',
    'email' => 'wuqi226@gmail.com',
    'create_date' => date('Y-m-d H:i:s'),
];
$operator = 'urumuqi';
$traceKey = 'dblog';
$saveRs = $dblog->write($bizTag, $actionTag, $logContent, $operator, $traceKey);
$readRs1 = $dblog->read($bizTag);
$readRs2 = $dblog->readByTraceKey($traceKey);
$readRs3 = $dblog->readByBizTag($bizTag);
$readRs4 = $dblog->readByBizTraceKey($bizTag, $traceKey);
$readRs5 = $dblog->readByOperator($operator);
dd($saveRs, $readRs1, $readRs2, $readRs3, $readRs4, $readRs5);