The Problem With Logging

Regarding how logging might cause deadlocks, I’m not familiar with Log4Net, but the scenario I envisage would be that some complex object has been passed to the logger, the logger has attempted to convert it to a string, and the object’s method for obtaining a string representation is doing complex stuff - maybe causing object state to be lazy-loaded from the database, that kind of thing.