San*_*r82 5 laravel laravel-5 lumen
Documentantion说:
默认情况下,Lumen配置为为应用程序创建存储在storage/logs目录中的每日日志文件.
但我的应用程序仍然生成没有每日日志的lumen.log.
我的版本:Laravel Framework版本Lumen(5.1.6)(Laravel Components 5.1.*)我来自5.1安装.
如何使用每日文件生成日志?
Ben*_*rne 11
由于这个提交有一个configureMonologUsing方法.您应该在bootstrap/app.php文件中调用此方法
use Monolog\Formatter\LineFormatter;
use Monolog\Handler\RotatingFileHandler;
$app->configureMonologUsing(function ($monolog) {
$maxFiles = 7;
$rotatingLogHandler = (new RotatingFileHandler(storage_path('logs/lumen.log'), $maxFiles))
->setFormatter(new LineFormatter(null, null, true, true));
$monolog->setHandlers([$rotatingLogHandler]);
return $monolog;
});
Run Code Online (Sandbox Code Playgroud)
您可以创建一个服务提供程序,它创建一个新的旋转日志处理程序,然后替换Monolog处理程序.
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Monolog\Formatter\LineFormatter;
use Monolog\Handler\RotatingFileHandler;
class LogServiceProvider extends ServiceProvider
{
public function boot()
{
app('Psr\Log\LoggerInterface')->setHandlers([$this->getRotatingLogHandler()]);
}
public function getRotatingLogHandler($maxFiles = 7)
{
return (new RotatingFileHandler(storage_path('logs/lumen.log'), $maxFiles))
->setFormatter(new LineFormatter(null, null, true, true));
}
public function register()
{
}
}
Run Code Online (Sandbox Code Playgroud)
您还可以扩展Application并替换getMonologHandler或registerLogBindings方法.以下是替换前者的示例.
在bootstrap/start.php中替换
// This
$app = new Laravel\Lumen\Application(
realpath(__DIR__.'/../')
);
// With this
$app = new App\Application(
realpath(__DIR__.'/../')
);
Run Code Online (Sandbox Code Playgroud)
并创建App\Application.php
<?php
namespace App;
use Monolog\Formatter\LineFormatter;
use Monolog\Handler\RotatingFileHandler;
use Laravel\Lumen\Application as LumenApplication;
class Application extends LumenApplication
{
/**
* {@inheritdoc}
*/
protected function getMonologHandler()
{
$maxRotatedFiles = 3
return (new RotatingFileHandler(storage_path('logs/lumen.log'), $maxRotatedFiles))
->setFormatter(new LineFormatter(null, null, true, true));
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3083 次 |
| 最近记录: |