Skip to main content

At times while developing in October CMS, you will perform a step that kills the site.  Recently, I had transferred the site to production and I was working through our steps to cross check deployment.  This included reviewing the error logger plugin.  The error logger has four tabs Mailer, Slack, Syslog and Relic.  In the syslog tab, I was tweeting the facility, when on saving the change the site the following error greeted me:

[2020-10-14 08:01:29] development.ERROR: UnexpectedValueException: Unknown facility value "local66" given in /{serverPath}/vendor/monolog/monolog/src/Monolog/Handler/AbstractSyslogHandler.php:88
Stack trace:
#0 /{serverPath}/vendor/monolog/monolog/src/Monolog/Handler/SyslogHandler.php(43): Monolog\Handler\AbstractSyslogHandler->__construct('local66', '100', true)
#1 /{serverPath}/plugins/vojtasvoboda/errorlogger/Plugin.php(151): Monolog\Handler\SyslogHandler->__construct('mainSite', 'local66', '100')
#2 /{serverPath}/plugins/vojtasvoboda/errorlogger/Plugin.php(71): VojtaSvoboda\ErrorLogger\Plugin->setSyslogHandler(Object(Monolog\Logger))
#3 /{serverPath}/modules/system/classes/PluginManager.php(317): VojtaSvoboda\ErrorLogger\Plugin->boot()
#4 /{serverPath}/modules/system/classes/PluginManager.php(299): System\Classes\PluginManager->bootPlugin(Object(VojtaSvoboda\ErrorLogger\Plugin))
#5 /{serverPath}/modules/system/ServiceProvider.php(104): System\Classes\PluginManager->bootAll()
#6 [internal function]: System\ServiceProvider->boot()
#7 /{serverPath}/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(29): call_user_func_array(Array, Array)
#8 /{serverPath}/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(87): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#9 /{serverPath}/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(31): Illuminate\Container\BoundMethod::callBoundMethod(Object(October\Rain\Foundation\Application), Array, Object(Closure))
#10 /{serverPath}/vendor/laravel/framework/src/Illuminate/Container/Container.php(549): Illuminate\Container\BoundMethod::call(Object(October\Rain\Foundation\Application), Array, Array, NULL)
#11 /{serverPath}/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(792): Illuminate\Container\Container->call(Array)
#12 /{serverPath}/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(775): Illuminate\Foundation\Application->bootProvider(Object(System\ServiceProvider))
#13 [internal function]: Illuminate\Foundation\Application->Illuminate\Foundation\{closure}(Object(System\ServiceProvider), 24)
#14 /{serverPath}/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(776): array_walk(Array, Object(Closure))
#15 /{serverPath}/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php(17): Illuminate\Foundation\Application->boot()
#16 /{serverPath}/vendor/october/rain/src/Foundation/Application.php(85): Illuminate\Foundation\Bootstrap\BootProviders->bootstrap(Object(October\Rain\Foundation\Application))
#17 /{serverPath}/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(162): October\Rain\Foundation\Application->bootstrapWith(Array)
#18 /{serverPath}/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(146): Illuminate\Foundation\Http\Kernel->bootstrap()
#19 /{serverPath}/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#20 /{serverPath}/index.php(43): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#21 {main}  

Now with the backend not operational, how to clear the cache?

There are several ways you can attempt to clean up this situation:

1. Using shell enter the following command

php artisan cache:clear

2. .htaccess file
php_flag opcache.enable Off
3. remove relevant storage file
rm -rf /{serverPath}/storage/cms/cache/*
rm -rf /{serverPath}/storage/cms/twig/*
rm -rf /{serverPath}/storage/temp/public/*
rm -rf /{serverPath}/storage/framework/cache/*

For me options 1 and 2 didn't work.  Option 3 did... more specifically the command that cleared the error was rm -rf /{serverPath}/storage/temp/public/*

 

What are the Syslog facilities

The error that I wanted to clear was through entering the wrong syslog facility description.  I had entered local66, instead of local6.  

What options are available for the syslog facility?

Facility Number Facility Description Facility Number Facility Description
0 kernel messages 12 NTP subsystem
1 user-level messages 13 log audit
2 mail system 14 log alert
3 system daemons 15 clock daemon
4 **security/authorization messages 16 local use 0 (local0)
5 messages generated internally by syslog 17 local use 1 (local1)
6 line printer subsystem 18 local use 2 (local2)
7 network news subsystem 19 local use 3 (local3)
8 UUCP subsystem 20 local use 4 (local4)
9 clock daemon 21 local use 5 (local5)
10 security/authorization messages 22 local use 6 (local6)
11 FTP daemon 23 local use 7 (local7)