LP#1824181: Allow 1st arg to logger to be string or subroutine
[opensrf-equinox.git] / src / perl / lib / OpenSRF / Utils / Logger.pm
index 157c961..6a662ac 100644 (file)
@@ -239,6 +239,9 @@ sub _log_message {
     my( $msg, $level ) = @_;
     return if $level > $loglevel;
 
+    # Allow $msg to be either a normal string or a delayed exec subroutine
+    $msg = &$msg if (ref($msg) eq 'CODE');
+
     # apply a sane default service name/tag
     $logger->set_service($0) unless $service;