Laravel更改日志路径

Laravel更改日志路径,laravel,Laravel,我正在使用以下更改日志路径: \Log::useDailyFiles(...) 但是我仍然在/storage/logs/中获得日志条目。如何仅使用日志路径?在引导类时,Laravel已经注册了记录器的实例。因此,当您使用Log::useDailyFiles()时,您只是添加了一个额外的日志处理程序,这就是为什么您还可以在标准存储/logs/laravel.Log中获得日志条目 为了覆盖默认日志处理程序,Laravel提供了应用程序实例上可用的ConfigureMonogUsing方法。因此,在

我正在使用以下更改日志路径:

\Log::useDailyFiles(...)

但是我仍然在
/storage/logs/
中获得日志条目。如何仅使用日志路径?

在引导类时,Laravel已经注册了记录器的实例。因此,当您使用
Log::useDailyFiles()
时,您只是添加了一个额外的日志处理程序,这就是为什么您还可以在标准
存储/logs/laravel.Log
中获得日志条目

为了覆盖默认日志处理程序,Laravel提供了应用程序实例上可用的
ConfigureMonogUsing
方法。因此,在
bootstrap/app.php
文件中,就在
return$app之前语句,添加以下内容:

$app->configuremonogusing(函数($monog)使用($app){
$monolog->pushHandler(
(新建Monolog\Handler\RotatingFileHandler(
//设置日志路径
“/custom/path/to/custom.log”,
//设置要保留的每日文件数
$app->make('config')->get('app.log\u max\u files',5)
))->setFormatter(新的Monolog\Formatter\LineFormatter(null,null,true,true))
);
});
传递给
RotatingFileHandler
的第二个参数尝试从
config/app.php
获取
log\u max\u文件的配置值,以确定它应该保留多少日常日志文件,如果找不到,则默认为
5
。如果您想保留无限数量的每日日志文件,只需传递
0


您可以在中阅读有关日志记录配置的更多信息

Laravel 5:bootstrap/app.php

自定义每日日志:
$app->configuremonogusing(函数($monog)使用($app){
$monolog->pushHandler(
(新建Monolog\Handler\RotatingFileHandler(
//设置日志路径
$app->storagePath()。/logs/app_error.log',
//设置要保留的每日文件数
$app->make('config')->get('app.log\u max\u files',30)
))->setFormatter(新的Monolog\Formatter\LineFormatter(null,null,true,true))
);
});
单日志:
$app->configuremonogusing(函数($monog)使用($app){
$handler=new Monolog\handler\StreamHandler($app->storagePath()。/logs/app_error.log');
$handler->setFormatter(新建\monog\Formatter\LineFormatter(null,null,true,true));
$monolog->pushHandler($handler);
});

非常感谢,我尝试了一下,但遇到了致命错误:调用未定义的方法illumb\Foundation\Application,为什么?我不知道你用的是哪种版本?另外,请发布整个错误堆栈跟踪,其中应包括触发错误的文件和行号,以及指定该行上的代码段。我以前使用过这段代码,它工作得很好。我使用的是Laravel5.5,这对我来说很有用。另外,您可能希望在日志中允许堆栈跟踪,您可以通过拉出行格式化程序
$lineFormatter=new Monolog\formatter\lineFormatter(null,null,true,true)来实现这一点$lineFormatter->includeStacktraces(真)