A better solution would probably (Ignoring prebuilts like log4perl that solve this problem) to define your own "logging/error/warn" func that you can just turn off and on. Observe:
if( $Main::Verbosity::Is::Double::PLus::Good )
my_warn_of_god "Some stuff I want to see if debug";
my_warn_of_god "Other stuff";
#yet more stuff
This way you A) don't have to mess about with source filtering (which I don't trust..), and B) you don't have to do odd things like disabling push.