diff options
| author | Guilhem Moulin <guilhem@fripost.org> | 2015-07-31 22:40:28 +0200 | 
|---|---|---|
| committer | Guilhem Moulin <guilhem@fripost.org> | 2015-07-31 22:40:30 +0200 | 
| commit | 69502140d2e229a314bb1eb192d31b9a2c14f981 (patch) | |
| tree | 75ba8c76a9f2c1d130107e404da5530f79004850 | |
| parent | 74ef024258870c9f767688f9305c1fab3e4ce393 (diff) | |
Log debug messages to STDERR unless 'logfile' is set.
However don't include timestamps to STDERR, that's the job of the
syslog.
| -rwxr-xr-x | imapsync | 10 | ||||
| -rw-r--r-- | lib/Net/IMAP/Sync.pm | 7 | 
2 files changed, 13 insertions, 4 deletions
| @@ -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, @_);  } diff --git a/lib/Net/IMAP/Sync.pm b/lib/Net/IMAP/Sync.pm index 47c6258..b44f0a6 100644 --- a/lib/Net/IMAP/Sync.pm +++ b/lib/Net/IMAP/Sync.pm @@ -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, ': ', @_); | 
