【Lumen】Log 파일을 날짜별로 출력시킨다

2756 단어 로그PHPlumen

Log 출력을 위한 설정



Lumen에서 Log 출력을 사용하려면 $app->withFacades();의 주석 처리를 해제해야 합니다.
단순히 Log 출력시키는 것만이라면 이것만으로 좋을 것 같습니다만, 일자 ​​단위로 되면, bootstrap\app.php를 여러가지 편집할 필요가 있습니다.

bootstrap\app.php

app.php
<?php

require_once __DIR__.'/../vendor/autoload.php';

// 以下を追加する
+ use Monolog\Handler\RotatingFileHandler;
+ use Monolog\Formatter\LineFormatter;

~~~略~~~

// コメントアウトを解除
- // $app->withFacades();
+ $app->withFacades();

~~~略~~~

// 以下を追加
+ $app->configureMonologUsing(function($monolog) {
+     $handlers[] = (new RotatingFileHandler(storage_path('logs/api.log'))) 
+                     ->setFormatter(new LineFormatter(null, null, true, true));
+ 
+     $monolog->setHandlers($handlers);
+ 
+     return $monolog;
+ });


위의 설정 후에는 storage\logs 이하에 다음과 같이 log가 토출됩니다.



log 이름을 변경하는 경우 storage_pathg의 api.log 부분을 변경하면 k
([log name]-Y-m-d.log처럼 내뿜습니다.)

덧붙여서 LineFormatter 클래스의 인수의 디폴트치는 이하와 같이 세트 되는 것 같습니다.
(자세한 것은 LineFormatter 클래스의 생성자 참조)

LineFormatter.php
public function __construct($format = null, $dateFormat = null, $allowInlineLineBreaks = false, $ignoreEmptyContextAndExtra = false)

이 근처의 인수를 건네주면 날짜 부분의 포맷을 변경할 수 있을 것 같습니다.

참고


  • Errors & Logging - Lumen - PHP Micro-Framework By Laravel
  • Lumen에서 로그 출력 | Shimabox Blog
  • lumen 로그 출력 제어 (rotate 방법) - yasutomog 블로그
  • laravel - Lumen (5.1.6) daily log - Stack Overflow
  • 좋은 웹페이지 즐겨찾기