Yii2 日志(log)配置与使用

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'],
                ]
            ],
        ]
    ]
];

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',

可以更改默认日志位置。

4.使用日志记录

可以使用这种方式记录:

use yii\log\Logger;
//其他代码
Yii::getLogger()->log('错误11,错误11,错误11', Logger::LEVEL_TRACE,'application');

使用这种方式存储需要使用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;

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

[
    'class' => 'yii\log\FileTarget',
    'logVars' => ['_SERVER'],
]

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

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值