【Lumen】Logファイルを日付ごとで出力させる
Log出力のための設定
LumenでLog出力を有効にするには $app->withFacades();
のコメントアウトを解除する必要があります。
単純にLog出力させるだけならこれだけでよさそうですが、日付単位でとなると、bootstrap\app.phpをいろいろ編集する必要があります。
bootstrap\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名]-Y-m-d.logのように吐き出されます。)
ちなみにLineFormatterクラスの引数のデフォルト値は以下のようにセットされるようです。
(詳しくはLineFormatterクラスのコンストラクタ参照)
public function __construct($format = null, $dateFormat = null, $allowInlineLineBreaks = false, $ignoreEmptyContextAndExtra = false)
この辺の引数を渡してやれば日付部分のフォーマットを変更できそうです。
参考
Author And Source
この問題について(【Lumen】Logファイルを日付ごとで出力させる), 我々は、より多くの情報をここで見つけました https://qiita.com/sola-msr/items/43466f0b3340bdb6856a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .