When should we log? Before function calls (example A) or at beginning of a target method (example B)?
Note, that this question is about exact logger function call placement, not general best logging practices.
Solution A: Log at function call:
function someProcess() {
log.info("Reading data");
readDataFromIO();
log.info("Outputing data");
outputDataToScreen();
}
// ... other module:
function readDataFromIO() {
...
}
function outputDataToScreen() {
...
}
Solution B: Log at the beggining of a method:
function someProcess() {
readDataFromIO();
outputDataToScreen();
}
// ... other module:
function readDataFromIO() {
log.info("Reading data");
...
}
function outputDataToScreen() {
log.info("Outputing data");
...
}
解決策 A では、メッセージをカスタマイズしたり、効率の問題が発生したときにログを取り消すことができますが、ログ メッセージが同じように見える場合、ログを記録するのを忘れて、多くの重複コードが発生する可能性があります。解決策 B では、ログ記録とコードの重複を忘れるリスクはありませんが、ログ記録ロジックを 100% オフにすることはできず、null ポインター例外などのメソッド呼び出しでエラーが発生した場合に問題が発生します。ベストプラクティスはどれですか?