]> git.g-eek.se Git - interimap.git/commitdiff
Log debug messages to STDERR unless 'logfile' is set.
authorGuilhem Moulin <guilhem@fripost.org>
Fri, 31 Jul 2015 20:40:28 +0000 (22:40 +0200)
committerGuilhem Moulin <guilhem@fripost.org>
Fri, 31 Jul 2015 20:40:30 +0000 (22:40 +0200)
However don't include timestamps to STDERR, that's the job of the
syslog.

imapsync
lib/Net/IMAP/Sync.pm

index b0226c377ad9461ce990de13704dd45823d4f7af..30982af9ae54d5c2c10fdd3c2d90950c0578b82e 100755 (executable)
--- a/imapsync
+++ b/imapsync
@@ -96,6 +96,9 @@ my ($DBFILE, $LOCKFILE, $LOGGER_FD);
             or die "Can't open $CONF->{_}->{logfile}: $!\n";
         $LOGGER_FD->autoflush(1);
     }
+    elsif ($CONFIG{debug}) {
+        $LOGGER_FD = \*STDERR;
+    }
 }
 my $DBH;
 
@@ -196,14 +199,17 @@ $DBH->do('PRAGMA foreign_keys = ON');
 sub msg($@) {
     my $name = shift;
     return unless @_;
-    logger($name, @_) if defined $LOGGER_FD and $LOGGER_FD ne \*STDERR;
+    logger($name, @_) if defined $LOGGER_FD and $LOGGER_FD->fileno != fileno STDERR;
     my $prefix = defined $name ? "$name: " : '';
     print STDERR $prefix, @_, "\n";
 }
 sub logger($@) {
     my $name = shift;
     return unless @_ and defined $LOGGER_FD;
-    my $prefix = strftime "%b %e %H:%M:%S ", localtime;
+    my $prefix = '';
+    if ($LOGGER_FD->fileno != fileno STDERR) {
+        $prefix = strftime "%b %e %H:%M:%S ", localtime;
+    }
     $prefix .= "$name: " if defined $name;
     $LOGGER_FD->say($prefix, @_);
 }
index 47c62583166d80a21f1e788d84ee50ca3e32391b..b44f0a6978b5f5c3638dbcdfa550bf94b9603449 100644 (file)
@@ -392,7 +392,7 @@ sub DESTROY($) {
 sub log($@) {
     my $self = shift;
     return unless @_;
-    $self->logger(@_) if defined $self->{'logger-fd'} and $self->{'logger-fd'} ne \*STDERR;
+    $self->logger(@_) if defined $self->{'logger-fd'} and $self->{'logger-fd'}->fileno != fileno STDERR;
     my $prefix = defined $self->{name} ? $self->{name} : '';
     $prefix .= "($self->{_SELECTED})" if $self->{_STATE} eq 'SELECTED';
     print STDERR $prefix, ': ', @_, "\n";
@@ -400,7 +400,10 @@ sub log($@) {
 sub logger($@) {
     my $self = shift;
     return unless @_ and defined $self->{'logger-fd'};
-    my $prefix = strftime "%b %e %H:%M:%S ", localtime;
+    my $prefix = '';
+    if ($self->{'logger-fd'}->fileno != fileno STDERR) {
+        $prefix = strftime "%b %e %H:%M:%S ", localtime;
+    }
     $prefix .= defined "$self->{name}" ? $self->{name} : '';
     $prefix .= "($self->{_SELECTED})" if $self->{_STATE} eq 'SELECTED';
     $self->{'logger-fd'}->say($prefix, ': ', @_);