Установка форматера на None
Вы можете установить форматер на None
. Это может показаться немного сложным, так как это плохо документировано (мне нужно было прочитать исходный код , чтобы убедиться, что это правильно), но работает следующее:
from absl import app
from absl import logging
def main(argv):
logging.get_absl_handler().use_absl_log_file('log', "./FolderName")
logging.get_absl_handler().setFormatter(None)
logging.info('Info log')
logging.warning('Warning log')
if __name__ == '__main__':
app.run(main)
Мой журнал Файл выглядит следующим образом после установки форматера None
:
Информационный журнал
Журнал предупреждений
Пользовательский форматер
Это значит Тем не менее, реализовать пользовательский форматер не сложно, и я думаю, что это более элегантно, плюс позволяет настраивать вывод. Вам просто нужно переопределить функцию format
:
from absl import app
from absl import logging
from absl.logging import PythonFormatter
class CustomPythonFormatter(PythonFormatter):
def format(self, record):
return super(PythonFormatter, self).format(record)
def main(argv):
logging.get_absl_handler().use_absl_log_file('log', "./Folder")
logging.get_absl_handler().setFormatter(CustomPythonFormatter())
logging.info('Info log')
logging.warning('Warning log')
if __name__ == '__main__':
app.run(main)
Это дает мне тот же результат, что и раньше:
Информационный журнал
Журнал предупреждений