Страницы ошибок Laravel по умолчанию различаются на сервере [minimal.blade vs illust.blade]

Вместо того, чтобы полагаться на стили или внутренние поля, вы также можете создать Formatter, который делегирует другие форматы в зависимости от record.levelno (или других критериев). Это немного более чистое решение по моему скромному мнению. Код ниже должен работать для любой версии python> = 2.7:

Простой способ будет выглядеть примерно так:

class MyFormatter(logging.Formatter):

    default_fmt = logging.Formatter('%(levelname)s in %(name)s: %(message)s')
    info_fmt = logging.Formatter('%(message)s')

    def format(self, record):
        if record.levelno == logging.INFO:
            return self.info_fmt.format(record)
        else:
            return self.default_fmt.format(record)

Но вы могли бы сделать его более общим:

class VarFormatter(logging.Formatter):

    default_formatter = logging.Formatter('%(levelname)s in %(name)s: %(message)s')

    def __init__(self, formats):
        """ formats is a dict { loglevel : logformat } """
        self.formatters = {}
        for loglevel in formats:
            self.formatters[loglevel] = logging.Formatter(formats[loglevel])

    def format(self, record):
        formatter = self.formatters.get(record.levelno, self.default_formatter)
        return formatter.format(record)

В качестве входного сигнала я использовал здесь dict, но, очевидно, вы также можете использовать кортежи, ** kwargs, независимо от того, что плавает ваша лодка. Тогда это будет использоваться как:

formatter = VarFormatter({logging.INFO: '[%(message)s]', 
                          logging.WARNING: 'warning: %(message)s'})
<... attach formatter to logger ...>
2
задан senty 21 March 2019 в 09:51
поделиться

1 ответ

Похоже, что стандартное представление ошибки 404 в vendor/ изменило в Laravel 5.8 с иллюстрированного макета на минимальный макет, возможно, для менее самоуверенного по умолчанию.

Я рекомендую создать свой собственный вид в разделе resources/views/errors/404.blade.php, если вы хотите вернуть предыдущий вид. Вы можете скопировать иллюстрированный вид непосредственно из версии 5.7, если это то, что вы хотели отобразить: https://github.com/laravel/framework/blob/5.7/src/Illuminate/Foundation/Exceptions/views/404. blade.php

0
ответ дан Travis Britz 21 March 2019 в 09:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: