Recentemente trabalhei em um projeto onde os logs do laravel estavam sendo enviados para o cloudwatch da amazon. O problema era que o horário do servidor estava setado em UTC (O que é o correto), porém o laravel estava gravando os logs utilizando o timestamp que estava nas configurções (o que pra mim é incorreto, já vi diversos lugares reclamando dessa abordagem).
Bom, para não ter que reescrever a classe de Log, alterei diretamente dentro do app/Providers/AppServiceProvider.php, alterando o timezone do monolog, conforme gist abaixo.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace App\Providers; | |
use Illuminate\Support\Facades\Log; | |
use Illuminate\Support\ServiceProvider; | |
class AppServiceProvider extends ServiceProvider | |
{ | |
/** | |
* Bootstrap any application services. | |
* | |
* @return void | |
*/ | |
public function boot() | |
{ | |
// | |
} | |
/** | |
* Register any application services. | |
* | |
* @return void | |
*/ | |
public function register() | |
{ | |
Log::setTimezone(new \DateTimeZone('UTC')); | |
$this->app->singleton(\Faker\Generator::class, function () { | |
return \Faker\Factory::create('pt_BR'); | |
}); | |
if ($this->app->environment() === "local") { | |
$this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class); | |
} | |
} | |
} |
Não se esqueça depois de `php artisana config:cache` para recarregar as configurações