Laravel 5.6 - Slack으로 로깅 할 수 있게 되었기 때문에 혼잡하게 시도하십시오.
13558 단어 로그PHPlaravel5.6
잡 of 잡으로 갑니다.
환경
OS
Windows
라라벨
5.6
PHP
7.2.4
필자는 xampp로 가고 있습니다.
Laravel에서 프로젝트 만들기
laravel new project
우선 sakut과 laravel 명령으로 프로젝트를 만듭니다.
적절한 라우팅 결정
route/web.php
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::get('/info', 'LogController@info')->name('info');
Route::get('/debug', 'LogController@debug')->name('debug');
Route::get('/warning', 'LogController@warning')->name('warning');
Route::get('/error', 'LogController@error')->name('error');
잡담이지만, 이런 것입니다.
로깅이므로 개인적으로 자주 사용하고 있는 info, debug, warning, error
를 픽업했습니다.
LogController 만들기
어쨌든 간단하게 알기 쉽게하기 위해, 특히 아무런 비틀림도하지 않습니다.
/debug처럼 URL을 직접 치면 log가 나오도록 합니다.
app/Http/Controller/LogController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Log;
use App\Http\Controllers\Controller;
class LogController extends Controller
{
public static function info()
{
Log::info('Slack Test - Info');
return view('welcome');
}
public static function debug()
{
Log::debug('Slack Test - Debug');
return view('welcome');
}
public static function warning()
{
Log::warning('Slack Test - Warning');
return view('welcome');
}
public static function error()
{
Log::error('Slack Test - Error');
return view('welcome');
}
}
Logging.php 설정
그런데, 우선 로그가 나오는 기구는 만들 수 있었습니다.
이것을 기본적으로 실행하면 Larave.log에 log.ERROR: Slack Test - Error
와 로그가 표시되는 하즈입니다.
Laravel5.6에서 추가 된 Logging.php를 다시 씁니다.
config/logging.php
<?php
use Monolog\Handler\StreamHandler;
return [
'default' => env('LOG_CHANNEL', 'stack'),
'channels' => [
'stack' => [
'driver' => 'stack',
'name' => 'laravel_logging', // チャンネル名を入力
'channels' => ['single', 'slack'], // slackを追加
],
'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
],
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
'days' => 7,
],
'slack' => [
'driver' => 'slack',
'url' => env('LOG_SLACK_WEBHOOK_URL'),
'username' => 'Laravel Log',
'emoji' => ':boom:',
'level' => 'debug', // デフォルトはcriticalなのでdebugに修正
],
'stderr' => [
'driver' => 'monolog',
'handler' => StreamHandler::class,
'with' => [
'stream' => 'php://stderr',
],
],
'syslog' => [
'driver' => 'syslog',
'level' => 'debug',
],
'errorlog' => [
'driver' => 'errorlog',
'level' => 'debug',
],
],
];
귀찮아서 다른 설정은 기본값입니다.
슬랙 측 설정
.env 파일에 LOG_SLACK_WEBHOOK_URL
를 설정해야 합니다.
우선 로그용 채널을 만듭니다.

그런 다음 imcoming webhook 앱과 연결합니다.
방금 만든 채널을 선택하고 추가

그러면 설정 화면으로 전환하므로 화면 하단의 Webhook URL을 복사하여 설정 저장해 둔다.

.env에 Webhook URL 작성
방금 복사한 Webhook URL을 .env 파일에 씁니다.LOG_SLACK_WEBHOOK_URL=https://hooks.slack.com/services/XXXXXXXXXXXX/XXXXXXXXXXXX/XXXXXXXXXXXXXXX
이것으로 끝입니다. 시도해 봅시다.
route/web.php
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::get('/info', 'LogController@info')->name('info');
Route::get('/debug', 'LogController@debug')->name('debug');
Route::get('/warning', 'LogController@warning')->name('warning');
Route::get('/error', 'LogController@error')->name('error');
잡담이지만, 이런 것입니다.
로깅이므로 개인적으로 자주 사용하고 있는
info, debug, warning, error
를 픽업했습니다.LogController 만들기
어쨌든 간단하게 알기 쉽게하기 위해, 특히 아무런 비틀림도하지 않습니다.
/debug처럼 URL을 직접 치면 log가 나오도록 합니다.
app/Http/Controller/LogController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Log;
use App\Http\Controllers\Controller;
class LogController extends Controller
{
public static function info()
{
Log::info('Slack Test - Info');
return view('welcome');
}
public static function debug()
{
Log::debug('Slack Test - Debug');
return view('welcome');
}
public static function warning()
{
Log::warning('Slack Test - Warning');
return view('welcome');
}
public static function error()
{
Log::error('Slack Test - Error');
return view('welcome');
}
}
Logging.php 설정
그런데, 우선 로그가 나오는 기구는 만들 수 있었습니다.
이것을 기본적으로 실행하면 Larave.log에 log.ERROR: Slack Test - Error
와 로그가 표시되는 하즈입니다.
Laravel5.6에서 추가 된 Logging.php를 다시 씁니다.
config/logging.php
<?php
use Monolog\Handler\StreamHandler;
return [
'default' => env('LOG_CHANNEL', 'stack'),
'channels' => [
'stack' => [
'driver' => 'stack',
'name' => 'laravel_logging', // チャンネル名を入力
'channels' => ['single', 'slack'], // slackを追加
],
'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
],
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
'days' => 7,
],
'slack' => [
'driver' => 'slack',
'url' => env('LOG_SLACK_WEBHOOK_URL'),
'username' => 'Laravel Log',
'emoji' => ':boom:',
'level' => 'debug', // デフォルトはcriticalなのでdebugに修正
],
'stderr' => [
'driver' => 'monolog',
'handler' => StreamHandler::class,
'with' => [
'stream' => 'php://stderr',
],
],
'syslog' => [
'driver' => 'syslog',
'level' => 'debug',
],
'errorlog' => [
'driver' => 'errorlog',
'level' => 'debug',
],
],
];
귀찮아서 다른 설정은 기본값입니다.
슬랙 측 설정
.env 파일에 LOG_SLACK_WEBHOOK_URL
를 설정해야 합니다.
우선 로그용 채널을 만듭니다.

그런 다음 imcoming webhook 앱과 연결합니다.
방금 만든 채널을 선택하고 추가

그러면 설정 화면으로 전환하므로 화면 하단의 Webhook URL을 복사하여 설정 저장해 둔다.

.env에 Webhook URL 작성
방금 복사한 Webhook URL을 .env 파일에 씁니다.LOG_SLACK_WEBHOOK_URL=https://hooks.slack.com/services/XXXXXXXXXXXX/XXXXXXXXXXXX/XXXXXXXXXXXXXXX
이것으로 끝입니다. 시도해 봅시다.
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Log;
use App\Http\Controllers\Controller;
class LogController extends Controller
{
public static function info()
{
Log::info('Slack Test - Info');
return view('welcome');
}
public static function debug()
{
Log::debug('Slack Test - Debug');
return view('welcome');
}
public static function warning()
{
Log::warning('Slack Test - Warning');
return view('welcome');
}
public static function error()
{
Log::error('Slack Test - Error');
return view('welcome');
}
}
그런데, 우선 로그가 나오는 기구는 만들 수 있었습니다.
이것을 기본적으로 실행하면 Larave.log에
log.ERROR: Slack Test - Error
와 로그가 표시되는 하즈입니다.Laravel5.6에서 추가 된 Logging.php를 다시 씁니다.
config/logging.php
<?php
use Monolog\Handler\StreamHandler;
return [
'default' => env('LOG_CHANNEL', 'stack'),
'channels' => [
'stack' => [
'driver' => 'stack',
'name' => 'laravel_logging', // チャンネル名を入力
'channels' => ['single', 'slack'], // slackを追加
],
'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
],
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
'days' => 7,
],
'slack' => [
'driver' => 'slack',
'url' => env('LOG_SLACK_WEBHOOK_URL'),
'username' => 'Laravel Log',
'emoji' => ':boom:',
'level' => 'debug', // デフォルトはcriticalなのでdebugに修正
],
'stderr' => [
'driver' => 'monolog',
'handler' => StreamHandler::class,
'with' => [
'stream' => 'php://stderr',
],
],
'syslog' => [
'driver' => 'syslog',
'level' => 'debug',
],
'errorlog' => [
'driver' => 'errorlog',
'level' => 'debug',
],
],
];
귀찮아서 다른 설정은 기본값입니다.
슬랙 측 설정
.env 파일에 LOG_SLACK_WEBHOOK_URL
를 설정해야 합니다.
우선 로그용 채널을 만듭니다.

그런 다음 imcoming webhook 앱과 연결합니다.
방금 만든 채널을 선택하고 추가

그러면 설정 화면으로 전환하므로 화면 하단의 Webhook URL을 복사하여 설정 저장해 둔다.

.env에 Webhook URL 작성
방금 복사한 Webhook URL을 .env 파일에 씁니다.LOG_SLACK_WEBHOOK_URL=https://hooks.slack.com/services/XXXXXXXXXXXX/XXXXXXXXXXXX/XXXXXXXXXXXXXXX
이것으로 끝입니다. 시도해 봅시다.
방금 복사한 Webhook URL을 .env 파일에 씁니다.
LOG_SLACK_WEBHOOK_URL=https://hooks.slack.com/services/XXXXXXXXXXXX/XXXXXXXXXXXX/XXXXXXXXXXXXXXX
이것으로 끝입니다. 시도해 봅시다.




제대로 예쁘게 할 수 있네요.
의외로 slack로 로깅 나쁘지 않다고 생각했습니다. (제대로 로그 설계해 연속으로 나오지 않으면)
뭔가 재미있을 것 같은 것이 있으면 다시 시도하고 쓰려고 생각합니다.
Reference
이 문제에 관하여(Laravel 5.6 - Slack으로 로깅 할 수 있게 되었기 때문에 혼잡하게 시도하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/pkxlulu/items/958883947b8d7f9d6283텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)