Walking the tree eagerly could lead to deadlocks when logging happened from multiple threads because the order of appender walking was unstable. Instead, we will avoid generating a stack for LocationInfo until after the NFPatternParser has notified the LoggingContext that the logger should generate location information. It is important to note that the first log lines will not have valid LocationInfo, but will in subsequent lines.
Walking the tree eagerly could lead to deadlocks when logging happened from multiple threads because the order of appender walking was unstable. Instead, we will avoid generating a stack for LocationInfo until after the NFPatternParser has notified the LoggingContext that the logger should generate location information. It is important to note that the first log lines will not have valid LocationInfo, but will in subsequent lines.