首页 > 解决方案 > 从应用程序 start.php 访问 Laravel 日志的正确方法是什么

问题描述

抱歉,这似乎是一个愚蠢的问题,但我正在学习 Laravel 框架的运作方式。我有一个使用 Laravel 框架的工作网络应用程序。日志文件设置在 backend/app/start/global.php

|--------------------------------------------------------------------------
| Application Error Logger
|--------------------------------------------------------------------------
|
| Here we will configure the error logger setup for the application which
| is built on top of the wonderful Monolog library. By default we will
| build a rotating log file setup which creates a new file each day.
|
*/

$logFile = 'log-'.php_sapi_name().'.txt';

Log::useDailyFiles(storage_path().'/logs/'.$logFile);
Log::info('Log file set to '.$logFile);

Log::info()我添加到文件的最后一行,它工作正常。但是我需要将类似的信息记录消息添加到后端/bootstrap/start.php。我现在想添加一个Log::info()声明。我通过 start.php 中的行引用了 Laravel 应用程序

$app = new Illuminate\Foundation\Application;

所以我的问题是;如果我使用的是 Laravel 框架,那么获取对 global.php 中定义的 Laravel“日志”的引用的正确方法是什么。这样我就可以添加一行,例如:

Log::info('Using Environment '.$key);

标签: phplaravellogging

解决方案


使用$app['log']->info('Stuff you want to log')应该可以,但我认为这不是一个好主意。

这个文件的存在只是为了创建“应用程序”,但你不需要在里面做任何事情,因为配置文件甚至没有加载,这就是为什么你不能在这里使用 Facades,没有配置文件 => 没有 Facades。


推荐阅读