title: Laravel 8.x Is there any way to bind CustomLogger using monolog with DateTimeZone set via Service Providers
body: <p>I'd like to override all of Laravel logger's dateTimeZone to 'Asia/Tokyo', but not changing <code>config/app.php =&gt; timezone</code>.</p>
  <p>Laravel comes with <code>monolog</code> library by default, and basically <code>Illuminate\Log\LogManager</code> is doing all the work to instantiate <code>Monolog\Logger</code> objects.</p>
  <p>We can pass <code>DateTimeZone</code> object to <code>Monolog\Logger</code> constructor's 4th argument, but there is no way we can pass that to <code>LogManager</code> via <code>config/logging.php</code> or anything.</p>
  <p>I know that there's a way to create custom logger object with full control and register to custom channel.
  <a href="https://laravel.com/docs/8.x/logging#creating-custom-channels-via-factories" rel="nofollow noreferrer">https://laravel.com/docs/8.x/logging#creating-custom-channels-via-factories</a></p>
  <p>One way is that I'll create &amp; use <code>App\Logging\CreateCustomLoggerWithTokyoTimeZone::class</code> and modify all of the default existing channels.</p>
  <p>The other way is that I'll somehow override <code>LogManager</code> and bind it to service container 's <code>log</code> service. (override <code>log</code> service, but it's a singleton)</p>
  <p>Any good ideas? Anything is appreciated.</p>