Старые файлы удаляются с помощью Monolog\Handler\RotatingFileHandler::rotate
.
Я знаю, что вы используете 5.4, но если вы хотите обновить версию до 5.6 (или выше), вы сможете воспользоваться новыми функциями ведения журнала. Все, что вам нужно сделать, это добавить новый backup
канал регистрации в config/logging.php
и включить его в stack
. Это было бы безусловно самым чистым решением.
Например, чтобы сохранить резервную копию всех журналов critical
или выше:
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['daily', 'backup'],
'ignore_exceptions' => false,
],
'backup' => [
'driver' => 'single',
'path' => storage_path('logs/backup.log'),
'level' => 'critical',
],
Я всегда использовал эту функцию для удаления тегов HTML, так как для этого требуется только Python stdlib:
На Python 2
from HTMLParser import HTMLParser
class MLStripper(HTMLParser):
def __init__(self):
self.reset()
self.fed = []
def handle_data(self, d):
self.fed.append(d)
def get_data(self):
return ''.join(self.fed)
def strip_tags(html):
s = MLStripper()
s.feed(html)
return s.get_data()
Для Python 3
from html.parser import HTMLParser
class MLStripper(HTMLParser):
def __init__(self):
self.reset()
self.strict = False
self.convert_charrefs= True
self.fed = []
def handle_data(self, d):
self.fed.append(d)
def get_data(self):
return ''.join(self.fed)
def strip_tags(html):
s = MLStripper()
s.feed(html)
return s.get_data()
Примечание : это работает только для 3.1. Для версии 3.2 или выше необходимо вызвать функцию родительского класса init . См. Использование HTMLParser в Python 3.2
Вы можете использовать другой анализатор HTML (, например, lxml , или Beautiful Soup ) - тот, который предлагает функции для извлечения только текста. Или вы можете запустить регулярное выражение в строке строки, которая удаляет теги. См. http://www.amk.ca/python/howto/regex/ для получения дополнительной информации.