hollisho/lumen-sls

Aliyun SLS Log For Lumen

1.1.0 2020-07-31 12:46 UTC

This package is auto-updated.

Last update: 2021-09-29 02:43:35 UTC


README

Install

Via Composer

$ composer require hollisho/lumen-sls

Config

Add following service providers into your providers array in bootstrap/app.php

$app->configure('sls');
$app->register(hollisho\lumensls\LumenSLSServiceProvider::class);

Add following service providers into your providers array in config/logging.php

'sls' => [
    'driver' => 'daily',
    'path' => storage_path('logs/lumen.log'),
    'tap' => [\hollisho\lumensls\Logging\SLSFormatter::class],
    'level' => 'debug',
    'days' => 1,
],

Edit your .env file

LOG_CHANNEL=sls

ALI_LOGSTORE_ENDPOINT=xxxxxxxx
ALI_LOGSTORE_ACCESS_KEY_ID=xxxxxxxx
ALI_LOGSTORE_ACCESS_KEY_SECRET=xxxxxxxx
ALI_LOGSTORE_PROJECT_NAME=my-project
ALI_LOGSTORE_NAME=test-store

You should update ALI_LOGSTORE_ENDPOINT to internal endpoint in production mode

Run php artisan lumen-sls:publish-config to publish configs (config/sls.php)

Make configuration changes if needed

Usage

First create a project and store at Aliyun SLS Console

Then update ALI_LOGSTORE_ENDPOINT, ALI_LOGSTORE_PROJECT_NAME, ALI_LOGSTORE_NAME in .env

Push a test message to queue

Log::info('Test Message', ['myname'=>'hollis']);

//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'])
]);