Yii2项目整合阿里云日志服务
原因 公司的php项目之前的日志基本是存数据库,存服务器文件,存在占用数据库大量空间,日志查看存在难以看到完整上下文,服务器上查找日志困难等问题,急需解决方案 方案 1.购买阿里云ELK:缺点贵 2.购买阿里云服务器自己搭ELK:虽然便宜些,但是增加运维成本 3.使用阿里云的日志服务,官方示例项目 优点:1.便宜 2:方便接入 3:机器人日志已有使用经验 4:在app即将上线的时候能够快速接入 示例项目 依赖引入 进入项目根目录,执行 composer require –prefer-dist ranvk/yii2-aliyun-logtarget -vvv composer.json文件中会增加 "ranvk/yii2-aliyun-logtarget": "^18.3" 修改配置,dev和local环境配置阿里云的外网地址,才可以上传日志,在线上的test和prod环境,使用内网地址,加快日志上传速度 api/config/dev/main.php 修改log的组件 ```php 'components' => [ 'log' => [ 'targets' => [ [ 'class' => 'yii\log\FileTarget', 'levels' => ['error', 'warning', 'trace', 'info'], ], [ 'levels' => ['error', 'warning', 'info'], 'class' => 'Ranvk\Yii2AliyunLogtarget\AliyunLogTarget', 'logstore' => 'www-xxx-com', 'topic' => YII_ENV, 'project' => 'c5game-webserver', 'accessKeyId' => 'xxx', 'accessKeySecret' => 'xxx', 'endpoint' => 'cn-shanghai.log.aliyuncs.com', //外网地址,内网地址为cn-shanghai-intranet.log.aliyuncs.com ], ], ], ``` 1. 其他环境的配置文件类似,别忘了修改 2. 具体代码 [http://xxxx/-/merge_requests/49/diffs](http://git.c5game.com/zbt/www.zbt.com/-/merge_requests/49/diffs) 查询示例 网址:https://sls.console.aliyun.com/lognext/project/xxx ...