From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-2.9 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=unavailable version=3.3.2 X-Original-To: meta@public-inbox.org Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 435DB63386E for ; Sat, 19 Sep 2015 02:03:47 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 11/12] nntp: log to FDs given by the Nntpd module Date: Sat, 19 Sep 2015 02:03:39 +0000 Message-Id: <20150919020340.6484-12-e@80x24.org> In-Reply-To: <20150919020340.6484-1-e@80x24.org> References: <20150919020340.6484-1-e@80x24.org> List-Id: This will allow us to redirect stdout/stderr more easily for logging. --- lib/PublicInbox/NNTP.pm | 29 ++++++++++++++++++----------- public-inbox-nntpd | 2 ++ 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/lib/PublicInbox/NNTP.pm b/lib/PublicInbox/NNTP.pm index 01039ba..80adb65 100644 --- a/lib/PublicInbox/NNTP.pm +++ b/lib/PublicInbox/NNTP.pm @@ -61,7 +61,7 @@ sub process_line ($$) { my $err = $@; if ($err && !$self->{closed}) { chomp($l = Dumper(\$l)); - warning('error from: ', $l, ' ', $err); + err($self, "error from: $l $err"); $res = '503 program fault - command not performed'; } return 0 unless defined $res; @@ -502,13 +502,13 @@ sub long_response ($$$$) { $self->{long_res} = undef; if ($err) { - warning("$err during long response[$fd] - ". - sprintf('%0.6', now() - $t0)); + err($self, + "$err during long response[$fd] - %0.6f", + now() - $t0); } if ($self->{closed}) { - printf(STDERR - " deferred[$fd] aborted - %0.6f\n", - now() - $t0); + out($self, " deferred[$fd] aborted - %0.6f", + now() - $t0); } else { $self->watch_read(1); } @@ -522,8 +522,7 @@ sub long_response ($$$$) { $self->{long_res} = undef; $self->watch_read(1); res($self, '.'); - printf(STDERR " deferred[$fd] done - %0.6f\n", - now() - $t0); + out($self, " deferred[$fd] done - %0.6f", now() - $t0); } }; $self->{long_res}->(); # kick off! @@ -713,6 +712,16 @@ sub do_write ($$) { $done; } +sub err ($$;@) { + my ($self, $fmt, @args) = @_; + printf { $self->{nntpd}->{err} } $fmt."\n", @args; +} + +sub out ($$;@) { + my ($self, $fmt, @args) = @_; + printf { $self->{nntpd}->{out} } $fmt."\n", @args; +} + use constant MSG_MORE => ($^O eq 'linux') ? 0x8000 : 0; sub do_more ($$) { @@ -750,7 +759,7 @@ sub event_read { $r = eval { $self->process_line($line) }; my $d = $self->{long_res} ? ' deferred['.fileno($self->{sock}).']' : ''; - printf(STDERR "$line - %0.6f$d\n", now() - $t0); + out($self, "$line - %0.6f$d", now() - $t0); } return $self->close if $r < 0; my $len = bytes::length($$buf); @@ -758,6 +767,4 @@ sub event_read { $self->push_back_read($buf) if ($len); } -sub warning { print STDERR 'W: ', @_, "\n" } - 1; diff --git a/public-inbox-nntpd b/public-inbox-nntpd index 7fec840..0c221fa 100644 --- a/public-inbox-nntpd +++ b/public-inbox-nntpd @@ -44,6 +44,8 @@ sub new { my ($class) = @_; my $self = fields::new($class); $self->{groups} = {}; + $self->{err} = \*STDERR; + $self->{out} = \*STDOUT; $self; } -- EW