sub core_log {} # new method for all core logging sub log {} # backcompat method sub _log {} # this is where everything ends up
I was thinking about this further and changed it to:
sub log {} # compatible method which collapses the @_ and calls... sub varlog {} # takes 2, 3, or 4+ parameters and DTRT
Does that meet your expectations? The Qpsmtpd::Plugins::log() calls varlog() directly and everything in the core still calls log() (which just makes sure that only two terms is passed on to varlog() then).
John
p.s. better name for varlog() gratefully appreciated. Send your suggestons on a fresh $20 bill to the address at the end of this email... ;-)