Laravel 로 그 를 다시 써 서 로 그 를 더욱 우아 하 게 만 들 었 습 니 다.
trace
,한 번 요청 한 유일한 표지error
등급 정보 푸 시,사례 중 기업 위 챗 그룹 어시스턴트 사용AppTool.php
,Logger.php
,LogServiceProvider.php
을app/Providers
폴 더 에 복사 하고 파일BaseCommand.php
을App\Console
아래로 복사 합 니 다.2 。
config/app.php→providers
에 가입
'providers' => [
……
//
App\Providers\LogServiceProvider::class
……
];
3。프로젝트 에서 다음 과 같은 방식 으로 호출 합 니 다.
// php-fpm /opt/logs/xxx.log /opt/logs/xxx.error
\Log::info("info");
\Log::debug("debug");
\Log::error("error");
// cli /opt/clogs/xxx.log /opt/clogs/xxx.error
app('cLog')->info("info");
app('cLog')->debug("debug");
app('cLog')->error("error");
4。로그 등급error
시 푸 시 를 수행 하 며,본 사례 에 서 는 기업 위 챗 그룹 푸 시 를 적용 한다.
/**
*
* @param $message
*/
public function pushErrorMessage($message)
{
$content = "app:". static::getAppName() ."
src: ". static::getRequestSource() ."
trace:". self::getTrace() ."
url:". static::$uri_info ."
error: ". $message ."
time:". date("Y-m-d H:i:s");
//
$url = "xxxxxxxxxxxx";
$result = app('\GuzzleHttp\Client')->request('POST', $url, [
\GuzzleHttp\RequestOptions::JSON=>[
"msgtype"=> "text",
"text"=> [
"content" => $content
]
]
]);
$body = \GuzzleHttp\json_decode($result->getBody()->getContents(), true);
}
5 。로그 내용주의사항:
다음 코드 를 수정 하면 버 전 별로 bind 부분 이 다 를 수 있 습 니 다.구체 적 으로
\Illuminate\Foundation\Application::registerCoreContainerAliases
에서log
정보 에 따라 수정 합 니 다.예 를 들 어 laravel 6.x 중
'log' => [\Illuminate\Log\LogManager::class, \Psr\Log\LoggerInterface::class],
,수정 방식 은 아래 코드 와 같 습 니 다.
……
//
$app->instance('Log', $logger);
$app->bind('Psr\Log\LoggerInterface', function (Application $app) {
return $app['log']->getLogger();
});
$app->bind('\Illuminate\Log\LogManager', function (Application $app) {
return $app['log'];
});
……
console 에서 사용 할 때 재 작성\Illuminate\Console\Command::info
,\Illuminate\Console\Command::line
,\Illuminate\Console\Command::error
을 권장 합 니 다.그리고 모든 console 은 BaseCommand 를 계승 합 니 다.demo 코드 블록:
use App\Console\BaseCommand;
class Demo extends BaseCommand
{
protected $signature = 'command:demo';
protected $description = 'demo';
public function __construct()
{
parent::__construct();
}
public function handle()
{
$this->info('this is info!');
$this->line('this is line!');
$this->error('this is error!!!');
}
}
demo 명령 행 출력:Laravel 재 작성 로그 에 관 한 이 글 은 로 그 를 더욱 우아 하 게 만 드 는 글 을 소개 합 니 다.더 많은 Laravel 재 작성 로그 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
단순 Laravel+Vue.js에서 VueUI를 사용하여 로그인 및 등록Laravel에는 웹 팩과 같은 Laravel-Mix가 있는데, 이를 이용해서 Laravel에 Vue.js를 실현할 수 있다. 이번에는 몇 가지 명령을 통해 간단하게 VueUI로 로그인하여 로그인을 할 수 있습니다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.