olivefm/laravel-sls

阿里云 SLS 日志 For Laravel,lumen

v1.0.0 2016-07-22 09:52 UTC

This package is auto-updated.

Last update: 2024-09-10 21:55:42 UTC


README

安装

通过 Composer

$ composer require olivefm/laravel-sls

配置

将以下服务提供者添加到 config/app.php 文件中的 providers 数组中

Lokielse\LaravelSLS\LaravelSLSServiceProvider::class

sls.php 复制到 config 文件夹

对于 Lumen

将以下代码添加到 bootstrap/app.php

$app->configure("sls");

config/app.php 中替换 Log 别名(可选)

//'Log'               => Illuminate\Support\Facades\Log::class,
'Log'                 => Lokielse\LaravelSLS\Facades\WriterFacade::class,
'SLSLog'              => Lokielse\LaravelSLS\Facades\LogFacade::class,

编辑您的 .env 文件

ALIYUN_ACCESS_KEY_ID=...
ALIYUN_ACCESS_KEY_SECRET=...
# https://help.aliyun.com/document_detail/29008.html
# 如杭州公网 cn-hangzhou.log.aliyuncs.com
# 如杭州内网 cn-hangzhou-intranet.log.aliyuncs.com
SLS_ENDPOINT=cn-hangzhou.log.aliyuncs.com
SLS_PROJECT=test-project
SLS_STORE=test-store

在生产模式下,您应将 SLS_ENDPOINT 更新为 内部端点

使用方法

首先创建一个项目并将其存储在 阿里云 SLS 控制台

然后更新 .env 中的 SLS_ENDPOINTSLS_PROJECTSLS_STORE

向队列推送测试消息

Log::info('Test Message', ['foobar'=>'2003']);

//or you can use `app('sls')` 

app('sls')->putLogs([
	'type' => 'test',
	'message' => json_encode(['This should use json_encode'])
]);

//or you can use `SLSLog` directly 

SLSLog::putLogs([
	'type' => 'test',
	'message' => json_encode(['This should use json_encode'])
]);

安全

阿里云 RAM 控制台 创建 RAM 访问控制

  1. 创建一个自定义策略,例如 AliyunSLSFullAccessFoobar

    {
      "Version": "1",
      "Statement": [
    	{
    	  "Action": "log:*",
    	  "Resource": [
    		"acs:log:*:*:project/test-project/logstore/test-store",
    	  ],
    	  "Effect": "Allow"
    	}
      ]
    }
    
  2. 为您的应用程序创建一个用户,例如 foobar

  3. 将策略 AliyunSLSFullAccessFoobar 分配给用户 foobar

  4. 为用户 foorbar 创建并获取 AccessKeyIdAccessKeySecret

  5. .env 中更新 QUEUE_SLS_ACCESS_KEYQUEUE_SLS_ACCESS_SECRET

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

测试

$ composer test

贡献

请参阅 CONTRIBUTINGCONDUCT 了解详细信息。

鸣谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件