记录器的局限性和限制

记录器会增加进程的堆栈消耗,因为它在实际函数调用之前引入了额外的“包装”函数。

这可以公开通常与未初始化变量相关的应用程序中的 bug。 由于 Logger 会更改堆栈用法,因此在函数调用中声明的局部变量可能采用与没有 Logger 时不同的初始值。 如果程序使用此变量而不初始化它,则程序可能会崩溃,或者其行为方式与 Logger 不存在时不同。

不幸的是,解决此类问题并不容易。 唯一的解决方法是尝试禁用函数类别,以尝试隔离导致该问题的区域。