Cento euro in più per 75mila dipendenti in Toscana.

26/02/2018

Questi i numeri principali del nuovo CCNL del settore ristorazione “fuori casa”, rappresentato in Toscana da oltre 22.500 mila imprese fra ristoranti, bar, mense e catering e 75mila addetti. Tra i soggetti firmatari dell’accordo ci sono per la parte datoriale Fipe-Confcommercio, Angem (ristorazione collettiva) e il mondo della cooperazione con Legacoop; per la parte sindacale Filcams CGIL, Fisascat CISL e Uiltucs UIL. Tra le novità, oltre all’aumento in busta paga di €100 lorde, il rafforzamento dell’assistenza sanitaria integrativa, la durata quadriennale e importanti innovazioni mirate al recupero di produttività, come una maggiore flessibilità oraria. Il direttore della Confcommercio Toscana Franco Marinoni: “finalmente il primo contratto specifico per il comparto della somministrazione, uno dei più strategici e di punta del made in Italy”. Il presidente di Fipe-Confcommercio Toscana Aldo Cursano: “per le nostre imprese la flessibilità è uno strumento essenziale di competizione e il nuovo CCNL tiene in considerazione il carattere imprevedibile e discontinuo dei flussi di lavoro”. Per Marco Conficconi (Uiltucs UIL Toscana): “un accordo che stabilisce alcune novità su argomenti fondamentali quali partecipazione, formazione e bilateralità”. Per Carlo Di Paola (Fisascat CISL Toscana): “siamo riusciti a definire un nuovo impianto contrattuale che prevede importanti incrementi economici e il potenziamento degli interventi di Welfare”.

Pubblici esercizi, arriva il nuovo contratto collettivo nazionale di lavoro

Questi i numeri principali del nuovo CCNL del settore ristorazione “fuori casa”, rappresentato in Toscana da oltre 22.500 mila imprese fra ristoranti, bar, mense e catering e 75mila addetti. Tra i soggetti firmatari dell’accordo ci sono per la parte datoriale Fipe-Confcommercio, Angem (ristorazione collettiva) e il mondo della cooperazione con Legacoop; per la parte sindacale Filcams CGIL, Fisascat CISL e Uiltucs UIL. Tra le novità, oltre all’aumento in busta paga di €100 lorde, il rafforzamento dell’assistenza sanitaria integrativa, la durata quadriennale e importanti innovazioni mirate al recupero di produttività, come una maggiore flessibilità oraria. Il direttore della Confcommercio Toscana Franco Marinoni: “finalmente il primo contratto specifico per il comparto della somministrazione, uno dei più strategici e di punta del made in Italy”. Il presidente di Fipe-Confcommercio Toscana Aldo Cursano: “per le nostre imprese la flessibilità è uno strumento essenziale di competizione e il nuovo CCNL tiene in considerazione il carattere imprevedibile e discontinuo dei flussi di lavoro”. Per Marco Conficconi (Uiltucs UIL Toscana): “un accordo che stabilisce alcune novità su argomenti fondamentali quali partecipazione, formazione e bilateralità”. Per Carlo Di Paola (Fisascat CISL Toscana): “siamo riusciti a definire un nuovo impianto contrattuale che prevede importanti incrementi economici e il potenziamento degli interventi di Welfare”.

Interessa circa 75mila lavoratori in Toscana il nuovo Contratto Collettivo Nazionale di Lavoro siglato per i dipendenti dell’intero comparto del “fuori casa”, rappresentato a livello regionale da 22.500 imprese fra ristoranti, bar, pizzerie, mense e catering, oltre a pub, locali da ballo e stabilimenti balneari. In pratica, tutte le aziende che somministrano pasti.

A firmare il Contratto, il primo specifico per la somministrazione e quindi indipendente e svincolato dagli altri precedenti, è stata per la parte datoriale la Federazione Italiana Pubblici Esercizi FIPE aderente a Confcommercio (con la partecipazione diretta alle fasi salienti della trattativa del suo vice presidente vicario e presidente toscano Aldo Cursano), insieme al mondo della ristorazione collettiva con Angem e a quello della cooperazione con Legacoop Produzione e Servizi: tre soggetti che insieme rappresentano la quasi totalità delle imprese del settore. Per la parte sindacale lo hanno firmato invece Fisascat CISL, Uiltucs UIL e Filcams CGIL.

Il nuovo CCNL decorre dal 1 gennaio 2018 e prevede tra le novità l’aumento in busta paga di €100 lorde a regime (calcolate per un dipendente del IV livello), il rafforzamento dell’assistenza sanitaria integrativa, la durata quadriennale e importanti innovazioni mirate al recupero di produttività, come un nuovo sistema di flessibilità dell’orario di lavoro, per salvaguardare il mercato nell'interesse di tutti i protagonisti, lavoratori, consumatori e imprese.

Il comparto della somministrazione sviluppa in Toscana circa 6 miliardi di euro di fatturato, che diventano 80 miliardi a livello nazionale, dove il settore conta più di 300.000 imprese e oltre un milione di addetti. Secondo i dati della Confcommercio, solo a Firenze sono circa mille (946) i bar e ristoranti presenti in centro storico, ai quali si aggiungono i circa 1.500 (1.430) del resto del territorio comunale, per un totale di diecimila addetti.

“Finalmente uno dei settori strategici e di punta del Made in Italy quale è la ristorazione può contare su un contratto di lavoro specifico di riferimento”, sottolinea il direttore della Confcommercio Toscana Franco Marinoni, “l’accordo siglato con le parti sindacali è stato frutto di una lunga trattativa, dell’impegno e del senso di responsabilità di tutti i firmatari. Tutte le innovazioni previste vanno nell’ordine di garantire una maggiore flessibilità operativa nelle imprese e saranno la leva per favorire quel recupero di produttività necessario per sostenere gli investimenti migliorativi e rafforzare lo sviluppo di un settore chiave della nostra economia”.

“Per le nostre imprese la flessibilità è diventata ormai uno strumento essenziale di competizione”, sottolinea il presidente di Fipe-Confcommercio Toscana Aldo Cursano, che nella veste di vice presidente nazionale di categoria ha seguito in prima persona le trattative che hanno portato alla firma del documento, “il nuovo CCNL tiene in considerazione le mutate condizioni del mercato e, soprattutto, il carattere imprevedibile e discontinuo dei flussi di lavoro, che ora potremo gestire grazie alla flessibilità dell’orario, rispondendo meglio alle esigenze dei consumatori”.   

Ad esprimere soddisfazione insieme al mondo delle imprese sono anche le parti sindacali dei lavoratori. Per Marco Conficconi, segretario generale regionale della UIL Turismo, la UILTUCS Toscana, “si tratta di un nuovo contratto nazionale che finalmente rimette al centro i diritti dei lavoratori ma che allo stesso tempo pone le basi per rilanciare l'intero settore della ristorazione. Un accordo - prosegue Conficconi  - che oltre agli importanti aspetti economici stabilisce alcune novità su argomenti fondamentali per le lavoratrici ed i lavoratori del settore, quali partecipazione, formazione e bilateralità. Con questo accordo, potremmo monitorare maggiormente il settore e risolvere più velocemente le criticità che scaturiscono nel rapporto tra lavoratore ed impresa. Un grande risultato.”

Per Carlo di Paola, segretario generale della FISASCAT CISL Toscana “è importantissimo che dopo oltre 4,5 anni dalla scadenza sia stato siglato per i dipendenti dei Pubblici esercizi, ristorazione collettiva, dei bar, dei ristoranti e tavole calde, dei fast food, delle pasticcerie, delle mense il CCNL scaduto del 2013. Validità e sfera di applicazione, relazioni sindacali, classificazione del personale, contrattazione decentrata, mercato del lavoro, organizzazione e flessibilità contrattata, Welfare, bilateralità e formazione professionale sono gli ambiti di intervento dell’intesa. Anche attraverso un confronto serrato con le rappresentanze imprenditoriali, alla fine siamo riusciti a definire un nuovo impianto contrattuale che prevede importanti incrementi economici, un potenziamento degli interventi di Welfare riferito all’assistenza sanitaria integrativa e alla previdenza integrativa, ma anche alla formazione professionale. Questo nuovo assetto del CCNL riqualifica un settore dalle forti potenzialità occupazionali anche attraverso il sistema della flessibilità contrattata e un mercato del lavoro che apre ai giovani con l’apprendistato. Con questa intesa - conclude Di Paola - vogliamo intraprendere un percorso di stabilizzazione dei rapporti di lavoro in un settore che risente di una forte stagionalità. Attraverso la contrattazione a tutti i livelli sarà necessario puntare all’allungamento dei rapporti di lavoro e alla destagionalizzazione delle attività nelle località turistiche”.

Whoops! There was an error.
ErrorException (E_NOTICE)
fwrite(): write of 1762 bytes failed with errno=28 No space left on device ErrorException thrown with message "fwrite(): write of 1762 bytes failed with errno=28 No space left on device" Stacktrace: #11 ErrorException in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:139 #10 fwrite in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:139 #9 Monolog\Handler\StreamHandler:streamWrite in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:125 #8 Monolog\Handler\StreamHandler:write in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php:39 #7 Monolog\Handler\AbstractProcessingHandler:handle in /var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php:344 #6 Monolog\Logger:addRecord in /var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php:712 #5 Monolog\Logger:error in /var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php:203 #4 Illuminate\Log\Writer:writeLog in /var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php:114 #3 Illuminate\Log\Writer:error in /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php:113 #2 Illuminate\Foundation\Exceptions\Handler:report in /var/www/html/app/Exceptions/Handler.php:39 #1 App\Exceptions\Handler:report in /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:81 #0 Illuminate\Foundation\Bootstrap\HandleExceptions:handleException in [internal]:0
11
ErrorException
/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:139
10
fwrite
/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:139
9
Monolog\Handler\StreamHandler streamWrite
/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:125
8
Monolog\Handler\StreamHandler write
/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php:39
7
Monolog\Handler\AbstractProcessingHandler handle
/vendor/monolog/monolog/src/Monolog/Logger.php:344
6
Monolog\Logger addRecord
/vendor/monolog/monolog/src/Monolog/Logger.php:712
5
Monolog\Logger error
/vendor/laravel/framework/src/Illuminate/Log/Writer.php:203
4
Illuminate\Log\Writer writeLog
/vendor/laravel/framework/src/Illuminate/Log/Writer.php:114
3
Illuminate\Log\Writer error
/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php:113
2
Illuminate\Foundation\Exceptions\Handler report
/app/Exceptions/Handler.php:39
1
App\Exceptions\Handler report
/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:81
0
Illuminate\Foundation\Bootstrap\HandleExceptions handleException
[internal]:0
/var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
        if ($this->useLocking) {
            // ignoring errors here, there's not much we can do about them
            flock($this->stream, LOCK_EX);
        }
 
        $this->streamWrite($this->stream, $record);
 
        if ($this->useLocking) {
            flock($this->stream, LOCK_UN);
        }
    }
 
    /**
     * Write to stream
     * @param resource $stream
     * @param array $record
     */
    protected function streamWrite($stream, array $record)
    {
        fwrite($stream, (string) $record['formatted']);
    }
 
    protected function streamSetChunkSize()
    {
        if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
            return stream_set_chunk_size($this->stream, self::CHUNK_SIZE);
        }
 
        return false;
    }
 
    private function customErrorHandler($code, $msg)
    {
        $this->errorMessage = preg_replace('{^(fopen|mkdir)\(.*?\): }', '', $msg);
    }
 
    /**
     * @param string $stream
     *
     * @return null|string
Arguments
  1. "fwrite(): write of 1762 bytes failed with errno=28 No space left on device"
    
/var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
        if ($this->useLocking) {
            // ignoring errors here, there's not much we can do about them
            flock($this->stream, LOCK_EX);
        }
 
        $this->streamWrite($this->stream, $record);
 
        if ($this->useLocking) {
            flock($this->stream, LOCK_UN);
        }
    }
 
    /**
     * Write to stream
     * @param resource $stream
     * @param array $record
     */
    protected function streamWrite($stream, array $record)
    {
        fwrite($stream, (string) $record['formatted']);
    }
 
    protected function streamSetChunkSize()
    {
        if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
            return stream_set_chunk_size($this->stream, self::CHUNK_SIZE);
        }
 
        return false;
    }
 
    private function customErrorHandler($code, $msg)
    {
        $this->errorMessage = preg_replace('{^(fopen|mkdir)\(.*?\): }', '', $msg);
    }
 
    /**
     * @param string $stream
     *
     * @return null|string
Arguments
  1. stream resource @7
      timed_out: false
      blocked: true
      eof: false
      wrapper_type: "plainfile"
      stream_type: "STDIO"
      mode: "a"
      unread_bytes: 0
      seekable: true
      uri: "/var/www/html/storage/logs/laravel.log"
      options: []
    }
    
  2. """
    [2026-04-20 08:33:21] production.ERROR: file_put_contents(): write of 250 bytes failed with errno=28 No space left on device {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 250 bytes failed with errno=28 No space left on device at /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
    [stacktrace]\n
    #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/var/www/html/v...', 122, Array)\n
    #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/var/www/html/s...', 'a:3:{s:6:\"_toke...', 2)\n
    #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/var/www/html/s...', 'a:3:{s:6:\"_toke...', true)\n
    #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('7Lg1MUVBYduso1V...', 'a:3:{s:6:\"_toke...')\n
    #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
    #5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
    #6 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
    #7 /var/www/html/public/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
    #8 {main}\n
    "} \n
    """
    
/var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
            set_error_handler(array($this, 'customErrorHandler'));
            $this->stream = fopen($this->url, 'a');
            if ($this->filePermission !== null) {
                @chmod($this->url, $this->filePermission);
            }
            restore_error_handler();
            if (!is_resource($this->stream)) {
                $this->stream = null;
 
                throw new \UnexpectedValueException(sprintf('The stream or file "%s" could not be opened in append mode: '.$this->errorMessage, $this->url));
            }
            $this->streamSetChunkSize();
        }
 
        if ($this->useLocking) {
            // ignoring errors here, there's not much we can do about them
            flock($this->stream, LOCK_EX);
        }
 
        $this->streamWrite($this->stream, $record);
 
        if ($this->useLocking) {
            flock($this->stream, LOCK_UN);
        }
    }
 
    /**
     * Write to stream
     * @param resource $stream
     * @param array $record
     */
    protected function streamWrite($stream, array $record)
    {
        fwrite($stream, (string) $record['formatted']);
    }
 
    protected function streamSetChunkSize()
    {
        if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
            return stream_set_chunk_size($this->stream, self::CHUNK_SIZE);
Arguments
  1. stream resource @7
      timed_out: false
      blocked: true
      eof: false
      wrapper_type: "plainfile"
      stream_type: "STDIO"
      mode: "a"
      unread_bytes: 0
      seekable: true
      uri: "/var/www/html/storage/logs/laravel.log"
      options: []
    }
    
  2. array:8 [
      "message" => "file_put_contents(): write of 250 bytes failed with errno=28 No space left on device"
      "context" => array:1 [
        "exception" => ErrorException {
          #message: "file_put_contents(): write of 250 bytes failed with errno=28 No space left on device"
          #code: 0
          #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
          #line: 122
          #severity: E_NOTICE
        }
      ]
      "level" => 400
      "level_name" => "ERROR"
      "channel" => "production"
      "datetime" => DateTime @1776674001 {
        date: 2026-04-20 08:33:21.394211 UTC (+00:00)
      }
      "extra" => []
      "formatted" => """
        [2026-04-20 08:33:21] production.ERROR: file_put_contents(): write of 250 bytes failed with errno=28 No space left on device {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 250 bytes failed with errno=28 No space left on device at /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
        [stacktrace]\n
        #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/var/www/html/v...', 122, Array)\n
        #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/var/www/html/s...', 'a:3:{s:6:\"_toke...', 2)\n
        #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/var/www/html/s...', 'a:3:{s:6:\"_toke...', true)\n
        #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('7Lg1MUVBYduso1V...', 'a:3:{s:6:\"_toke...')\n
        #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
        #5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #6 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #7 /var/www/html/public/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #8 {main}\n
        "} \n
        """
    ]
    
/var/www/html/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php
 *
 * @author Jordi Boggiano <j.boggiano@seld.be>
 * @author Christophe Coevoet <stof@notk.org>
 */
abstract class AbstractProcessingHandler extends AbstractHandler
{
    /**
     * {@inheritdoc}
     */
    public function handle(array $record)
    {
        if (!$this->isHandling($record)) {
            return false;
        }
 
        $record = $this->processRecord($record);
 
        $record['formatted'] = $this->getFormatter()->format($record);
 
        $this->write($record);
 
        return false === $this->bubble;
    }
 
    /**
     * Writes the record down to the log of the implementing handler
     *
     * @param  array $record
     * @return void
     */
    abstract protected function write(array $record);
 
    /**
     * Processes a record.
     *
     * @param  array $record
     * @return array
     */
    protected function processRecord(array $record)
    {
Arguments
  1. array:8 [
      "message" => "file_put_contents(): write of 250 bytes failed with errno=28 No space left on device"
      "context" => array:1 [
        "exception" => ErrorException {
          #message: "file_put_contents(): write of 250 bytes failed with errno=28 No space left on device"
          #code: 0
          #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
          #line: 122
          #severity: E_NOTICE
        }
      ]
      "level" => 400
      "level_name" => "ERROR"
      "channel" => "production"
      "datetime" => DateTime @1776674001 {
        date: 2026-04-20 08:33:21.394211 UTC (+00:00)
      }
      "extra" => []
      "formatted" => """
        [2026-04-20 08:33:21] production.ERROR: file_put_contents(): write of 250 bytes failed with errno=28 No space left on device {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 250 bytes failed with errno=28 No space left on device at /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
        [stacktrace]\n
        #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/var/www/html/v...', 122, Array)\n
        #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/var/www/html/s...', 'a:3:{s:6:\"_toke...', 2)\n
        #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/var/www/html/s...', 'a:3:{s:6:\"_toke...', true)\n
        #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('7Lg1MUVBYduso1V...', 'a:3:{s:6:\"_toke...')\n
        #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
        #5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #6 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #7 /var/www/html/public/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #8 {main}\n
        "} \n
        """
    ]
    
/var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php
        }
        $ts->setTimezone(static::$timezone);
 
        $record = array(
            'message' => (string) $message,
            'context' => $context,
            'level' => $level,
            'level_name' => $levelName,
            'channel' => $this->name,
            'datetime' => $ts,
            'extra' => array(),
        );
 
        try {
            foreach ($this->processors as $processor) {
                $record = call_user_func($processor, $record);
            }
 
            while ($handler = current($this->handlers)) {
                if (true === $handler->handle($record)) {
                    break;
                }
 
                next($this->handlers);
            }
        } catch (Exception $e) {
            $this->handleException($e, $record);
        }
 
        return true;
    }
 
    /**
     * Ends a log cycle and frees all resources used by handlers.
     *
     * Closing a Handler means flushing all buffers and freeing any open resources/handles.
     * Handlers that have been closed should be able to accept log records again and re-open
     * themselves on demand, but this may not always be possible depending on implementation.
     *
     * This is useful at the end of a request and will be called automatically on every handler
Arguments
  1. array:8 [
      "message" => "file_put_contents(): write of 250 bytes failed with errno=28 No space left on device"
      "context" => array:1 [
        "exception" => ErrorException {
          #message: "file_put_contents(): write of 250 bytes failed with errno=28 No space left on device"
          #code: 0
          #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
          #line: 122
          #severity: E_NOTICE
        }
      ]
      "level" => 400
      "level_name" => "ERROR"
      "channel" => "production"
      "datetime" => DateTime @1776674001 {
        date: 2026-04-20 08:33:21.394211 UTC (+00:00)
      }
      "extra" => []
      "formatted" => """
        [2026-04-20 08:33:21] production.ERROR: file_put_contents(): write of 250 bytes failed with errno=28 No space left on device {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 250 bytes failed with errno=28 No space left on device at /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
        [stacktrace]\n
        #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/var/www/html/v...', 122, Array)\n
        #1 /var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/var/www/html/s...', 'a:3:{s:6:\"_toke...', 2)\n
        #2 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/var/www/html/s...', 'a:3:{s:6:\"_toke...', true)\n
        #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('7Lg1MUVBYduso1V...', 'a:3:{s:6:\"_toke...')\n
        #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
        #5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #6 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #7 /var/www/html/public/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #8 {main}\n
        "} \n
        """
    ]
    
/var/www/html/vendor/monolog/monolog/src/Monolog/Logger.php
     * @param  array  $context The log context
     * @return bool   Whether the record has been processed
     */
    public function err($message, array $context = array())
    {
        return $this->addRecord(static::ERROR, $message, $context);
    }
 
    /**
     * Adds a log record at the ERROR level.
     *
     * This method allows for compatibility with common interfaces.
     *
     * @param  string $message The log message
     * @param  array  $context The log context
     * @return bool   Whether the record has been processed
     */
    public function error($message, array $context = array())
    {
        return $this->addRecord(static::ERROR, $message, $context);
    }
 
    /**
     * Adds a log record at the CRITICAL level.
     *
     * This method allows for compatibility with common interfaces.
     *
     * @param  string $message The log message
     * @param  array  $context The log context
     * @return bool   Whether the record has been processed
     */
    public function crit($message, array $context = array())
    {
        return $this->addRecord(static::CRITICAL, $message, $context);
    }
 
    /**
     * Adds a log record at the CRITICAL level.
     *
     * This method allows for compatibility with common interfaces.
Arguments
  1. 400
    
  2. "file_put_contents(): write of 250 bytes failed with errno=28 No space left on device"
    
  3. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 250 bytes failed with errno=28 No space left on device"
        #code: 0
        #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php
     * @return void
     */
    public function write($level, $message, array $context = [])
    {
        $this->writeLog($level, $message, $context);
    }
 
    /**
     * Write a message to Monolog.
     *
     * @param  string  $level
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    protected function writeLog($level, $message, $context)
    {
        $this->fireLogEvent($level, $message = $this->formatMessage($message), $context);
 
        $this->monolog->{$level}($message, $context);
    }
 
    /**
     * Register a file log handler.
     *
     * @param  string  $path
     * @param  string  $level
     * @return void
     */
    public function useFiles($path, $level = 'debug')
    {
        $this->monolog->pushHandler($handler = new StreamHandler($path, $this->parseLevel($level)));
 
        $handler->setFormatter($this->getDefaultFormatter());
    }
 
    /**
     * Register a daily file log handler.
     *
     * @param  string  $path
Arguments
  1. "file_put_contents(): write of 250 bytes failed with errno=28 No space left on device"
    
  2. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 250 bytes failed with errno=28 No space left on device"
        #code: 0
        #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/var/www/html/vendor/laravel/framework/src/Illuminate/Log/Writer.php
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    public function critical($message, array $context = [])
    {
        $this->writeLog(__FUNCTION__, $message, $context);
    }
 
    /**
     * Log an error message to the logs.
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    public function error($message, array $context = [])
    {
        $this->writeLog(__FUNCTION__, $message, $context);
    }
 
    /**
     * Log a warning message to the logs.
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    public function warning($message, array $context = [])
    {
        $this->writeLog(__FUNCTION__, $message, $context);
    }
 
    /**
     * Log a notice to the logs.
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
Arguments
  1. "error"
    
  2. "file_put_contents(): write of 250 bytes failed with errno=28 No space left on device"
    
  3. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 250 bytes failed with errno=28 No space left on device"
        #code: 0
        #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php
     */
    public function report(Exception $e)
    {
        if ($this->shouldntReport($e)) {
            return;
        }
 
        if (method_exists($e, 'report')) {
            return $e->report();
        }
 
        try {
            $logger = $this->container->make(LoggerInterface::class);
        } catch (Exception $ex) {
            throw $e; // throw the original exception
        }
 
        $logger->error(
            $e->getMessage(),
            array_merge($this->context(), ['exception' => $e]
        ));
    }
 
    /**
     * Determine if the exception should be reported.
     *
     * @param  \Exception  $e
     * @return bool
     */
    public function shouldReport(Exception $e)
    {
        return ! $this->shouldntReport($e);
    }
 
    /**
     * Determine if the exception is in the "do not report" list.
     *
     * @param  \Exception  $e
     * @return bool
     */
Arguments
  1. "file_put_contents(): write of 250 bytes failed with errno=28 No space left on device"
    
  2. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 250 bytes failed with errno=28 No space left on device"
        #code: 0
        #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/var/www/html/app/Exceptions/Handler.php
     * A list of the inputs that are never flashed for validation exceptions.
     *
     * @var array
     */
    protected $dontFlash = [
        'password',
        'password_confirmation',
    ];
 
    /**
     * Report or log an exception.
     *
     * This is a great spot to send exceptions to Sentry, Bugsnag, etc.
     *
     * @param  \Exception  $exception
     * @return void
     */
    public function report(Exception $exception)
    {
        parent::report($exception);
    }
 
    /**
     * Render an exception into an HTTP response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Exception  $exception
     * @return \Illuminate\Http\Response
     */
    public function render($request, Exception $exception)
    {
        return parent::render($request, $exception);
    }
}
 
Arguments
  1. ErrorException {
      #message: "file_put_contents(): write of 250 bytes failed with errno=28 No space left on device"
      #code: 0
      #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
      #line: 122
      #severity: E_NOTICE
    }
    
/var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php
    }
 
    /**
     * Handle an uncaught exception from the application.
     *
     * Note: Most exceptions can be handled via the try / catch block in
     * the HTTP and Console kernels. But, fatal error exceptions must
     * be handled differently since they are not normal exceptions.
     *
     * @param  \Throwable  $e
     * @return void
     */
    public function handleException($e)
    {
        if (! $e instanceof Exception) {
            $e = new FatalThrowableError($e);
        }
 
        try {
            $this->getExceptionHandler()->report($e);
        } catch (Exception $e) {
            //
        }
 
        if ($this->app->runningInConsole()) {
            $this->renderForConsole($e);
        } else {
            $this->renderHttpResponse($e);
        }
    }
 
    /**
     * Render an exception to the console.
     *
     * @param  \Exception  $e
     * @return void
     */
    protected function renderForConsole(Exception $e)
    {
        $this->getExceptionHandler()->renderForConsole(new ConsoleOutput, $e);
Arguments
  1. ErrorException {
      #message: "file_put_contents(): write of 250 bytes failed with errno=28 No space left on device"
      #code: 0
      #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
      #line: 122
      #severity: E_NOTICE
    }
    
[internal]
Arguments
  1. ErrorException {
      #message: "file_put_contents(): write of 250 bytes failed with errno=28 No space left on device"
      #code: 0
      #file: "/var/www/html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
      #line: 122
      #severity: E_NOTICE
    }
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
REDIRECT_HTTPS
"on"
REDIRECT_STATUS
"200"
HTTPS
"on"
HTTP_HOST
"www.confcommercio.toscana.it"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_ACCEPT
"*/*"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_X_FORWARDED_FOR
"216.73.217.144"
HTTP_X_FORWARDED_HOST
"www.confcommercio.toscana.it"
HTTP_X_FORWARDED_PORT
"443"
HTTP_X_FORWARDED_PROTO
"https"
HTTP_X_FORWARDED_SERVER
"5c871fc76d2d"
HTTP_X_REAL_IP
"216.73.217.144"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
SERVER_SIGNATURE
"<address>Apache/2.4.54 (Debian) Server at www.confcommercio.toscana.it Port 80</address>\n"
SERVER_SOFTWARE
"Apache/2.4.54 (Debian)"
SERVER_NAME
"www.confcommercio.toscana.it"
SERVER_ADDR
"172.18.0.11"
SERVER_PORT
"80"
REMOTE_ADDR
"172.18.0.2"
DOCUMENT_ROOT
"/var/www/html/public"
REQUEST_SCHEME
"http"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/var/www/html/public"
SERVER_ADMIN
"[no address given]"
SCRIPT_FILENAME
"/var/www/html/public/index.php"
REMOTE_PORT
"38118"
REDIRECT_URL
"/news/cento-euro-in-piu-per-75mila-dipendenti-in-toscana"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/news/cento-euro-in-piu-per-75mila-dipendenti-in-toscana"
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1776674001.363
REQUEST_TIME
1776674001
argv
[]
argc
0
Key Value
DB_PASSWORD
"953knS6N@j@4"
MAIL_PORT
"2525"
MAIL_DRIVER
"smtp"
REDIS_PASSWORD
""
HOSTNAME
"54d20b25acbc"
PHP_VERSION
"7.4.33"
APACHE_CONFDIR
"/etc/apache2"
REDIS_HOST
"127.0.0.1"
PHP_INI_DIR
"/usr/local/etc/php"
GPG_KEYS
"42670A7FE4D0441C8E4632349E4FDC074A4EF02D 5A52880781F755608BF815FC910DEB46F53EA312"
PHP_LDFLAGS
"-Wl,-O1 -pie"
PWD
"/var/www/html"
SITE_UID
"2011"
CACHE_DRIVER
"file"
SITE_GID
"2011"
APP_LOG_LEVEL
"debug"
DB_PORT
"3316"
APACHE_LOG_DIR
"/var/log/apache2"
LANG
"C"
PUSHER_APP_CLUSTER
"mt1"
MAIL_USERNAME
""
APP_KEY
"base64:RPBgDgDOkssuiSO31vYoDq1VkDx3nhdZV2zUeSqqCvk="
APP_ENV
"production"
MAIL_PASSWORD
""
APP_DEBUG
"true"
APP_URL
"https://www.confcommercio.toscana.it"
PHP_SHA256
"924846abf93bc613815c55dd3f5809377813ac62a9ec4eb3778675b82a27b927"
APACHE_PID_FILE
"/var/run/apache2/apache2.pid"
PHPIZE_DEPS
"autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c"
DB_USERNAME
"confcomtos"
PUSHER_APP_ID
""
DB_CONNECTION
"mysql"
DB_HOST
"10.255.0.7"
PHP_URL
"https://www.php.net/distributions/php-7.4.33.tar.xz"
PUSHER_APP_KEY
""
APACHE_RUN_GROUP
"sitegroup"
PUSHER_APP_SECRET
""
APACHE_LOCK_DIR
"/var/lock/apache2"
APP_NAME
"Confcommercio Toscana"
SHLVL
"0"
PHP_CFLAGS
"-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
BROADCAST_DRIVER
"log"
REDIS_PORT
"6379"
APACHE_RUN_DIR
"/var/run/apache2"
APACHE_ENVVARS
"/etc/apache2/envvars"
SESSION_DRIVER
"file"
APACHE_RUN_USER
"siteuser"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
MAIL_ENCRYPTION
""
MAIL_HOST
"smtp.mailtrap.io"
DB_DATABASE
"confcomtos_prod"
SESSION_LIFETIME
"120"
QUEUE_DRIVER
"sync"
PHP_ASC_URL
"https://www.php.net/distributions/php-7.4.33.tar.xz.asc"
PHP_CPPFLAGS
"-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
0. Whoops\Handler\PrettyPageHandler