日志位于何处?

Posted

技术标签:

【中文标题】日志位于何处?【英文标题】:Where are logs located? 【发布时间】:2016-09-28 20:28:34 【问题描述】:

我正在调试 JSON 端点并且需要查看内部服务器错误。但是,我的app/storage/logs 目录是空的,并且似乎没有其他目录专门用于项目中的日志。我试过用谷歌搜索这个主题无济于事。

如何启用日志记录(如果尚未启用)并查看日志?

【问题讨论】:

你能告诉你目前的设置是什么吗? SO 和 http 服务器。 默认情况下,Laravel 应该记录 storage 文件夹中的所有内容。您的配置是否具有存储在日志中的正确权限?您可以在/var/log/apache2/error.log 中检查您的 apache 日志 - 这会告诉您您是否没有正确的权限。 您使用哪种方法进行日志记录? error_log 会使用默认的 php 日志目录,Log::error 会使用默认的 Laravel 日志目录 @ÁlvaroGuimarães 我不知道该怎么做,但一切都设置为默认值 @James 根据回答问题的 Denis Mysenko 的说法,权限不是问题 【参考方案1】:

确保调试模式已开启 - 将 APP_DEBUG=true 添加到 .env 文件或设置环境变量

日志文件位于 storage/logs 文件夹中。 laravel.log 是默认文件名。如果日志文件夹存在权限问题,Laravel 就会停止。因此,如果您的端点通常可以正常工作 - 权限不是问题。

如果您的调用甚至没有到达 Laravel 或者不是由代码问题引起 - 检查 Web 服务器的日志文件(检查您的 Apache/nginx 配置文件以查看路径)。

李>

如果您使用 PHP-FPM,请同时检查其日志文件(您可以在 PHP-FPM 池配置中查看日志文件的路径)。

【讨论】:

laravel.log 文件不存在,但日志存在于默认 PHP 日志目录中 要么在 Laravel 端没有异常/错误,要么 Laravel 没有足够的权限写入日志文件。您在 HTTP 客户端中看到了什么 - 您是否看到任何错误? 不,HTTP 客户端中没有显示错误。你不是说,如果有任何权限问题,Laravel 就会停止吗? 是的,那可能是个问题。检查您的 Web 进程在哪个用户下运行,确保该用户有权写入 1) storage/logs 2) storage/framework 3) bootstrap/cache 文件夹【参考方案2】:

您应该检查根目录而不是应用程序目录。

查看$ROOT/storage/laravel.log 而不是app/storage/laravel.log,其中root 是项目的***目录。

【讨论】:

我认为它是 storage/logs/laravel.log 而不是 storage/laravel.log,相对于项目的根目录。 $root 在哪里?如果我这样做:cd / 我看到一些文件夹但没有存储,唯一有存储文件夹的东西在 app 文件夹内但与 OP 相同,我没有 laravel.logs 文件,谢谢。【参考方案3】:

在 Laravel 6 中,默认情况下日志位于:

storage/logs/laravel.log

【讨论】:

【参考方案4】:

确保 APP_DEBUG=true 在您的 .env 上设置为开启

如果您想轻松检查您的存储日志,您可以安装:

https://github.com/rap2hpoutre/laravel-log-viewer

【讨论】:

【参考方案5】:

您可以通过storage_path() . '/logs' 以编程方式访问该位置:

$logFiles = array_filter(
    scandir(storage_path() . '/logs'), 
    fn($fn) => !str_starts_with($fn,'.') // filter everything that begins with dot
);

【讨论】:

【参考方案6】:

日志文件的位置可以在channels数组config/logging.php中找到(见下文)

如果有人想写信到single 频道, 使用 Laravel 的 Log Facade,这里是如何做的。

Log::channel('single')->info('Your message');

【讨论】:

以上是关于日志位于何处?的主要内容,如果未能解决你的问题,请参考以下文章

如何处理崩溃日志?

海量日志数据如何处理统计?

系统日志中的WMI错误如何处理

1 周后如何处理来自分布式日志代理(例如 Kafka)的日志?

如何处理Tomcat日志catalina.out日志文件过大的问题

数据库日志已满,如何处理?