yii日志记录功能

1.配置

在配置文件main.PHP或者main-local.php中配置参数

return [
    //日志使用时需要使用的
    'bootstrap' => ['log'],
    'components' => [
         //日志配置
         'log' => [
            'targets' => [
                /*
                 *使用文件存储日志
                 */
                'file' => [
                     //文件方式存储日志操作对应操作对象
                    'class' => 'yii\log\FileTarget',
                     /* 定义存储日志信息的级别,只有在这个数组的数据才能会使用当前方式存储起来
                      有trace(用于开发调试时记录日志,需要把YII_DEBUG设置为true),
                        error(用于记录不可恢复的错误信息),
                        warning(用于记录一些警告信息)
                        info(用于记录一些系统行为如管理员操作提示)
                        这些常用的。
                    */
                    'levels' => ['info','error'],
                    /**
                     * 按类别分类
                     * 默认为空,即所有。yii\* 指所有以 yii\ 开头的类别.
                     */
                    'categories' => ['yii\*'],
                ],
                /*
                 *使用数据库存储日志
                 */
                'db' => [
                     //数据库存储日志对象
                    'class' => 'yii\log\DbTarget',
                     //同上
                    'levels' => ['error', 'warning'],
                ]
            ],
        ]
    ]
];
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

2.使用数据库存储日志

1.具体参数在上面配置文件中已经配置好啦。 
2.cd 到项目根目录,在common模块配置好数据库配置,执行命令行创建表: 
php yii migrate --migrationPath=@yii/log/migrations/ 
这个使用了Yii2自带的数据库迁移指令,php是安装php后设定环境变量就可以使用,yii migrate是数据库迁移指令,通过它可以做一些数据库操作,有兴趣的可以去Yii2-数据库迁移看下。 
–migrationPath指定存储所有迁移类文件的目录。 
@yii/log/migrations/指是文件位置,这里的位置是: 
advanced\vendor\yiisoft\yii2\log\migrations 
这里。 
执行完这个指令,会有提示,输入yes指令,就ok啦! 
查看数据库中就会出现log这个表。

3.使用文件存储日志

1.使用上边的设置既可以直接使用文件记录日志。这个日志文件的默认位置是当前项目web目录同级目录runtime/log/app.log这里。在file配置数组中增加

'logFile' => '@runtime/logssss/appsss.log',
 
 
  • 1
  • 1

可以更改默认日志位置。

4.使用日志记录

可以使用这种方式记录:

use yii\log\Logger;
//其他代码
\Yii::error('错误信息', 'register');
 
 
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

使用这种方式存储需要使用use yii\log\Logger;来引入类。 
第一个参数是错误信息,第二个是错误消息的级别,级别可以去引入的类use yii\log\Logger;去查看。第三个参数为日志消息的类别,默认值为application
Yii2中还有另外一种快捷方法可以记录日志。

Yii::trace():记录一条消息去跟踪一段代码是怎样运行的。这主要在开发的时候使用。 
Yii::info():记录一条消息来传达一些有用的信息。 
Yii::warning():记录一个警告消息用来指示一些已经发生的意外。 
Yii::error():记录一个致命的错误,这个错误应该尽快被检查。

这些函数的参数一致,都是有两个参数。第一个参数定义日志信息,第二个参数是日志消息的类别,默认值为application。 
5.日志的其他操作配置 
配置关闭日志,可以直接修改配置文件或者使用如下代码禁用

Yii::$app->log->targets['file']->enabled = false;
 
 
  • 1
  • 1

默认日志的上下文会包括$_GET, $_POST,$_FILES, $_COOKIE, $_SESSION, $_SERVER这些信息,而这些信息是可以配置的,如下

[
    'class' => 'yii\log\FileTarget',
    'logVars' => ['_SERVER'],
]
 
 
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

上面的日志目标配置指明了只有 $_SERVER 变量的值将被追加到日志消息中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值