marvinlabs / laravel-discord-logger

Logging to a discord channel in Laravel
MIT License
176 stars 41 forks source link

Fix "Unable to create configured logger" on Laravel 7 and PHP 7.4 #46

Closed zabini closed 1 year ago

zabini commented 1 year ago

fix #45

Fix this issue in Laravel 7 and PHP 7.4:

[2023-10-27 15:50:54] laravel.EMERGENCY: Unable to create configured logger. Using emergency logger. {"exception":"[object] (ParseError(code: 0): syntax error, unexpected '|', expecting variable (T_VARIABLE) at /app/vendor/marvinlabs/laravel-discord-logger/src/DiscordLogger/LogHandler.php:38)
[stacktrace]
#0 /app/vendor/composer/ClassLoader.php(427): Composer\\Autoload\\{closure}('/app/vendor/com...')
#1 [internal function]: Composer\\Autoload\\ClassLoader->loadClass('MarvinLabs\\\\Disc...')
#2 /app/vendor/marvinlabs/laravel-discord-logger/src/DiscordLogger/Logger.php(38): spl_autoload_call('MarvinLabs\\\\Disc...')
#3 /app/vendor/marvinlabs/laravel-discord-logger/src/DiscordLogger/Logger.php(32): MarvinLabs\\DiscordLogger\\Logger->newDiscordLogHandler(Array)
#4 /app/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(229): MarvinLabs\\DiscordLogger\\Logger->__invoke(Array)
#5 /app/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(202): Illuminate\\Log\\LogManager->createCustomDriver(Array)
#6 /app/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(118): Illuminate\\Log\\LogManager->resolve('discord')
#7 /app/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(98): Illuminate\\Log\\LogManager->get('discord')
#8 /app/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(87): Illuminate\\Log\\LogManager->driver('discord')
#9 /app/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(261): Illuminate\\Log\\LogManager->channel('discord')
#10 /app/app/Console/Commands/Playground.php(42): Illuminate\\Support\\Facades\\Facade::__callStatic('channel', Array)
#11 /app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\\Console\\Commands\\Playground->handle()
#12 /app/vendor/laravel/framework/src/Illuminate/Container/Util.php(37): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#13 /app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#14 /app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(37): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#15 /app/vendor/laravel/framework/src/Illuminate/Container/Container.php(596): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#16 /app/vendor/laravel/framework/src/Illuminate/Console/Command.php(134): Illuminate\\Container\\Container->call(Array)
#17 /app/vendor/symfony/console/Command/Command.php(298): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#18 /app/vendor/laravel/framework/src/Illuminate/Console/Command.php(121): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#19 /app/vendor/symfony/console/Application.php(1040): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#20 /app/vendor/symfony/console/Application.php(301): Symfony\\Component\\Console\\Application->doRunCommand(Object(App\\Console\\Commands\\Playground), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#21 /app/vendor/symfony/console/Application.php(171): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#22 /app/vendor/laravel/framework/src/Illuminate/Console/Application.php(93): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#23 /app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(129): Illuminate\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#24 /app/artisan(37): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#25 {main}
"}
vpratfr commented 1 year ago

Hi,

Thanks. However I am not willing to lower the language requirement. I will stick to PHP 8+ syntax. Feel free to fork if you absolutly need PHP 7 compatibility.