lokielse / laravel-sls
Aliyun SLS Log For Laravel
Installs: 3 687
Dependents: 0
Suggesters: 0
Security: 0
Stars: 21
Watchers: 4
Forks: 13
Open Issues: 0
Requires
- php: ~5.5|~7.0
- illuminate/support: ~5.1
- lokielse/aliyun-open-api-sls: ^1.0.0
Requires (Dev)
- phpunit/phpunit: ~4.0||~5.0
- scrutinizer/ocular: ~1.1
- squizlabs/php_codesniffer: ~2.3
This package is auto-updated.
Last update: 2024-10-08 06:25:54 UTC
README
Install
Via Composer
$ composer require lokielse/laravel-sls
Config
Add following service providers into your providers array in config/app.php
Lokielse\LaravelSLS\LaravelSLSServiceProvider::class
Publish sls.php
to config
folder
php artisan vendor:publish --provider="Lokielse\LaravelSLS\LaravelSLSServiceProvider"
Replace Log
alias in your config/app.php
(Optional)
//'Log' => Illuminate\Support\Facades\Log::class, 'Log' => Lokielse\LaravelSLS\Facades\WriterFacade::class, 'SLSLog' => Lokielse\LaravelSLS\Facades\LogFacade::class,
Edit your .env
file
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
You should update SLS_ENDPOINT
to internal endpoint
in production mode
Usage
First create a project and store at Aliyun SLS Console
Then update SLS_ENDPOINT
, SLS_PROJECT
, SLS_STORE
in .env
Push a test message to queue
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']) ]);
Security
Create RAM access control at Aliyun RAM Console
-
Create a custom policy such as
AliyunSLSFullAccessFoobar
{ "Version": "1", "Statement": [ { "Action": "log:*", "Resource": [ "acs:log:*:*:project/test-project/logstore/test-store", ], "Effect": "Allow" } ] }
-
Create a user for you app such as
foobar
-
Assign the policy
AliyunSLSFullAccessFoobar
to the userfoobar
-
Create and get the
AccessKeyId
andAccessKeySecret
for userfoorbar
-
update
QUEUE_SLS_ACCESS_KEY
andQUEUE_SLS_ACCESS_SECRET
in.env
Change log
Please see CHANGELOG for more information what has changed recently.
Testing
$ composer test
Contributing
Please see CONTRIBUTING and CONDUCT for details.
Credits
License
The MIT License (MIT). Please see License File for more information.