Я думаю о том, где написать запись журнала вокруг операции.Вот два разных стиля.Первый, запись журнала перед операцией.
До:
log.info("Perform operation XXX")
operation()
А вот другой стиль, запись журнала после операции.
После:
operation()
log.info("Operation XXX is done.")
При прежнем стиле записи в журнале говорят о том, что собирается делать сейчас.Преимущество этого стиля в том, что когда что-то идет не так, разработчик может легко обнаружить это, потому что он знает, что делает программа сейчас.Но дело в том, что вы не уверены, что операция завершена правильно, если внутри операции что-то не так, например, вызов функции блокируется и никогда не возвращается, вы никогда не сможете узнать это, прочитав записи журнала.С последующим стилем вы уверены, что операция выполнена.
Конечно, мы можем смешать эти два стиля вместе
Оба:
log.info("Perform operation XXX")
operation()
log.info("Operation XXX is done.")
Но я чувствуюэто довольно многословно, он делает двойные записи в журнале.Итак, вот мой вопрос - каков хороший стиль ведения журнала?Я хотел бы знать, как вы думаете.