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)

Related articles

Andrew Fletcher18 Mar 2024
Resolving CVE-2022-48624 less issue
To resolve the CVE-2022-48624 vulnerability on Ubuntu using Nginx, it's crucial to understand that the issue lies within the "less" package, not Nginx itself. The vulnerability affects "less" before version 606, where close_altfile in filename.c in less omits shell_quote calls for LESSCLOSE,...
Andrew Fletcher12 Mar 2024
How to determine the size of a directory in Terminal
To determine the size of a directory using the terminal, you can use the du (disk usage) command. The syntax for this command can vary slightly depending on the operating system you are using, but a common way to use it is as follows: For Linux and macOSdu -sh /path/to/directoryduDisk...