- $loglevel = self::mapLegacyConfigDebugLevel((string)$level);
- static::addStreamHandler($logger, $stream, $loglevel);
+ // just add a stream in case it's either writable or not file
+ if (!is_file($stream) || is_writable($stream)) {
+ try {
+ static::addStreamHandler($logger, $stream, $loglevel);
+ } catch (\Throwable $e) {
+ // No Logger ..
+ $logger = new VoidLogger();
+ }
+ }
+ break;
+
+ case 'syslog':
+ try {
+ $logger = new SyslogLogger($this->channel, $introspection, $loglevel);
+ } catch (\Throwable $e) {
+ // No logger ...
+ $logger = new VoidLogger();
+ }
+ break;
+
+ case 'stream':
+ default:
+ $stream = $config->get('system', 'logfile');
+ // just add a stream in case it's either writable or not file
+ if (!is_file($stream) || is_writable($stream)) {
+ try {
+ $logger = new StreamLogger($this->channel, $stream, $introspection, $fileSystem, $loglevel);
+ } catch (\Throwable $t) {
+ // No logger ...
+ $logger = new VoidLogger();
+ }
+ } else {
+ $logger = new VoidLogger();
+ }