我需要知道应用程序Laravel 5中当前日志的名称。
尝试在Iluminate\Log\Writer
上搜索此内容。
仅在调用某些函数时看到$ path var,但我不明白如何获取此值。
基本上,我需要压缩文件并在应用程序获得一些例外时发送它。为此,我需要知道活动日志的名称。
我的应用会记录每日轮播,并查看日志名称laravel-2016-04-29.log
我知道使用PHP的名称,但我想可以知道使用Log类本身。
我认为最好的
use Carbon\Carbon;
...
$carbon = new Carbon();
$log = storage_path().'/logs/laravel-'.$carbon->toDateString().'.log';
我认为有更好的方法
答案 0 :(得分:0)
几天前我碰巧在Laravel日志中挖掘了一些东西,可能还有一个解决方案。
Log::info('abc');
foreach (Log::getMonolog()->getHandlers() as $handler) {
$stream = $handler->getStream();
if ($stream) {
$meta = stream_get_meta_data($stream);
echo $meta['uri'] . "<br/>";
}
}
这将输出已写入的日志文件的路径。
否则getStream()
将返回null
,因此无法轻易提取路径。它存储在url
的{{1}}属性中,遗憾的是受到保护,因此您需要扩展此类以获取路径。