JBoss Logging uses a system property to configure whether or not proxies are generated for type-safe loggers. This approach is very inflexible.
The main issue is that the value of this system property is being cached too aggressively. In CDI extensions, we are forced to use a static code block to set the property so it is assigned early enough that JBoss Logging caches the correct value. However, with multiple extensions loading in a non-deterministic order, we end up having to put this static block in multiple places. 
We need a better way to apply this setting. Perhaps a static method on a configuration API to assign the value before any logging takes place.