silinternational/yii2-jsonsyslog

此包已被弃用,不再维护。作者建议使用silinternational/yii2-json-log-targets包代替。

Yii2日志目标,用于将数据以JSON编码字符串的形式发送到Syslog

1.0.1 2020-12-17 20:40 UTC

This package is auto-updated.

Last update: 2020-12-17 20:41:37 UTC


README

Yii2日志目标,用于将数据以JSON编码字符串的形式发送到Syslog,适用于Logentries等日志服务。

提示

仅发送JSON内容

请确保您在rsyslog.conf文件中为Logentries定义的模板在%msg%数据之前不添加其他内容(除了您的Logentries密钥)。例如,可以这样操作...

$template Logentries,"LOGENTRIESKEY %msg%\n"

...不要这样做...

$template Logentries,"LOGENTRIESKEY %HOSTNAME% %syslogtag%%msg%\n"

(如果使用)日志前缀返回JSON

示例(请将其放置在Yii2配置文件的['components']['log']['targets']数组中)

[
    'class' => 'sil\log\JsonSyslogTarget',
    'levels' => ['error', 'warning'],
    'except' => [
        'yii\web\HttpException:401',
        'yii\web\HttpException:404',
    ],
    'logVars' => [], // Disable logging of _SERVER, _POST, etc.
    'prefix' => function($message) use ($APP_ENV) {
        $prefixData = array(
            'env' => $APP_ENV,
        );
        if (! \Yii::$app->user->isGuest) {
            $prefixData['user'] = \Yii::$app->user->identity->email;
        }
        return \yii\helpers\Json::encode($prefixData);
    },
],

许可证

此软件基于MIT许可证发布(见LICENSE文件)。