Не путайте ведение логов, трассировок и отчетов об ошибках, некоторые люди, которых я знаю, делают это, и он создает один адский файл журнала, чтобы пролистать его, чтобы получить нужную мне информацию.
Если я хочу, чтобы все было взбито, я делюсь на следующее:
- Трассировка -> Сбрасывает каждое действие и шаг с отметкой времени, с вводом и
выходные данные этой стадии (самые уродливые и
самый большой файл)
- Регистрация -> Регистрировать только шаги бизнес-процесса, клиент делает запрос, поэтому регистрируйте
критерии запроса и выходные данные
больше ничего.
- Отчеты об ошибках / отладка -> В журнале исключений указано, где оно
произошел, отметка времени, ввод / вывод
данные, если возможно, информация о пользователе и т. д.
Таким образом, если возникли какие-либо ошибки и журнал ошибок / отладок не содержит достаточно информации для моего вкуса, я всегда могу сделать grep -A 50 -B 50 'timestamp' tracing_file
, чтобы получить более подробную информацию.
EDIT:
Как уже было сказано, всегда полезно придерживаться стандартных пакетов, таких как встроенный модуль журналирования для Python, в качестве примера. Свертывание собственного - не лучшая идея, если у языка его нет в стандартной библиотеке. Мне нравится оборачивать запись в маленькую функцию, обычно принимая сообщение и значение для определения, в какие журналы он поступает, т.е. 1 - трассировка, 2 - регистрация, 4 - отладка, поэтому отправка значения 7 сбрасывается на все 3 и т. Д.