繁体   English   中英

如何在Laravel中获取日志文件?

[英]How do I get a log file in Laravel?

我有一个充满日志的文件! 我称它们为apache.logs。
所以现在我需要把它们放在Laravel,我不知道怎么做。
我只想将所有日志保存在变量( $logs )中并查看它们。

public function getlogs ()
    {
        $logs = \Request::file('apache.log');
        return view('logs' , [
            'all_logs' => $logs
        ]);
    } 

这不起作用,我不知道需要更改什么。

如果您使用\\Request::file则该文件应随请求参数一起提供,但是这里似乎您想使用laravel访问文件系统中的存储文件

要做到这一点

ini_set('memory_limit','256M');
$logs = \File::get('apache.log');
return view('logs' , [
    'all_logs' => $logs
]);

更新

如果文件位于根目录(如composer.json则需要更改路径以与之匹配

ini_set('memory_limit','256M');
$path = base_path()."/apache.log"; //get the apache.log file in root
$logs = \File::get($path);

return view('logs' , [
    'all_logs' => $logs
]);

将其包装在try catch块中以获取最佳实践,因为在某些情况下,如果apache.log不存在或无法访问laravel抛出异常,我们需要对其进行处理

try {

    ini_set('memory_limit','256M');
    $path = base_path()."/apache.log"; //get the apache.log file in root
    $logs = \File::get($path);

    return view('logs' , [
        'all_logs' => $logs
    ]);

} catch (Illuminate\Filesystem\FileNotFoundException $exception) {
    // handle the exception
} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM