Вместо того, чтобы полагаться на стили или внутренние поля, вы также можете создать 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 ...>
Похоже, что стандартное представление ошибки 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