gpt4 book ai didi

Laravel:更改日志路径以包含用户文件夹

转载 作者:行者123 更新时间:2023-12-04 18:02:13 24 4
gpt4 key购买 nike

我使用 Laravel 5.1 并尝试拦截默认记录器配置 (Monolog) 并将日志保存到包含用户名的不同路径。

当前日志保存到storage/logs/laravel.log。

想要的路径如下

经过身份验证的用户: storage/logs/[用户名]/[日期]_[api_path].log

其他用户日志可以保存在storage/logs/guest/[date]_[api_path].log下

服务提供商方法

有一个 LogServiceProvider,我可以在其中修改每个请求并根据需要设置路径。

public function boot(Request $request)
{

$log = new Logger('View Logs');
$user = \Auth::User()->getName(); // ERROR - uninitialized
$path = 'storage/logs/'.$user.'/mylogfile.log'; // doesn't matter API path
$log ->pushHandler(new StreamHandler($path, Logger::INFO));
...
}

这种方法的问题是,Auth::user() 似乎未初始化。

为什么会发生这种情况,我该如何解决?

最佳答案

您可能需要将其包装在 if 语句中,例如:

if ( Auth::check() ) {
// Do auth stuff
}
else {
// Do unauth stuff
}

这是否解决了您的问题?

关于Laravel:更改日志路径以包含用户文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33265522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com