use Sys::Syslog qw(syslog);
use POSIX qw(strftime);
use Socket qw(:crlf);
+use IO::Handle;
use Sip::Constants qw(SIP_DATETIME);
use Sip::Checksum qw(checksum);
sub timestamp {
my $time = $_[0] || time();
- if ($time=~m/^(\d{4})\-(\d{2})\-(\d{2})/) {
+ if ( ref $time eq 'DateTime') {
+ return $time->strftime(SIP_DATETIME);
+ } elsif ($time=~m/^(\d{4})\-(\d{2})\-(\d{2})/) {
# passing a db returned date as is + bogus time
return sprintf( '%04d%02d%02d 235900', $1, $2, $3);
}
if ($file) {
+ $file->autoflush(1);
print $file "$msg\r";
} else {
- print "$msg\r";
+ STDOUT->autoflush(1);
+ print $msg, "\r";
syslog("LOG_INFO", "OUTPUT MSG: '$msg'");
}