[SCM] libmessage-passing-perl Debian packaging branch, master, updated. debian/0.111-3-14-g44f6e88

Tomas Doran bobtfish at bobtfish.net
Mon May 6 11:56:56 UTC 2013


The following commit has been merged in the master branch:
commit 36a4fb49549ffb11e3f72e8676cad50ad88d0968
Author: Tomas Doran <bobtfish at bobtfish.net>
Date:   Mon Apr 30 09:18:58 2012 +0100

    Fix bug, but multiple inputs still broken (I think)

diff --git a/lib/Log/Stash/DSL.pm b/lib/Log/Stash/DSL.pm
index 7f93f57..1faacd0 100644
--- a/lib/Log/Stash/DSL.pm
+++ b/lib/Log/Stash/DSL.pm
@@ -6,6 +6,7 @@ use Log::Stash::DSL::Factory;
 use Carp qw/ confess /;
 use Scalar::Util qw/weaken/;
 use AnyEvent;
+use Moose::Util qw/ does_role /;
 
 Moose::Exporter->setup_import_methods(
     as_is     => [qw/ run_log_server log_chain input filter output /],
@@ -25,7 +26,8 @@ sub log_chain (&) {
     my $ret = $code->();
     my %items = $FACTORY->registry;
     $FACTORY->clear_registry;
-    weaken($items{$_}) for keys %items;
+    weaken($items{$_}) for grep { does_role($_, 'Log::Stash::Role::Output') } keys %items;
+    #use Data::Dumper; warn Dumper(\%items);
     foreach my $name (keys %items) {
         next if $items{$name};
         warn "Unused output or filter $name in chain\n";
diff --git a/lib/Log/Stash/Input/STDIN.pm b/lib/Log/Stash/Input/Null.pm
similarity index 61%
copy from lib/Log/Stash/Input/STDIN.pm
copy to lib/Log/Stash/Input/Null.pm
index 4e3fd12..607d645 100644
--- a/lib/Log/Stash/Input/STDIN.pm
+++ b/lib/Log/Stash/Input/Null.pm
@@ -1,4 +1,4 @@
-package Log::Stash::Input::STDIN;
+package Log::Stash::Input::Null;
 use Moose;
 use AnyEvent;
 use Try::Tiny;
@@ -6,35 +6,21 @@ use namespace::autoclean;
 
 with 'Log::Stash::Role::Input';
 
-sub BUILD {
-    my $self = shift;
-    my $r; $r = AnyEvent->io(fh => \*STDIN, poll => 'r', cb => sub {
-        my $input = <STDIN>;
-        return unless defined $input;
-        chomp($input);
-        my $data = try { $self->decode($input) }
-            catch { warn $_ };
-        return unless $data;
-        $self->output_to->consume($data);
-        $r;
-    });
-}
-
 __PACKAGE__->meta->make_immutable;
 1;
 
 =head1 NAME
 
-Log::Stash::Input::STDIN - STDIN input
+Log::Stash::Input::Null - Null input
 
 =head1 SYNOPSIS
 
-    logstash --input STDIN --output STDOUT
-    {"foo": "bar"}
-    {"foo":"bar"}
+    logstash --input Null --output STDOUT
 
 =head1 DESCRIPTION
 
+Does nothing (for testing).
+
 =head1 SEE ALSO
 
 L<Log::Stash>
diff --git a/t/dsl.t b/t/dsl.t
index 965a30a..846ae73 100644
--- a/t/dsl.t
+++ b/t/dsl.t
@@ -32,41 +32,15 @@ is_deeply [$test->messages], [{foo => 'bar'}];
 
 $c = log_chain {
             output logcollector_central => (
-                class => 'ZeroMQ',
-                connect => "tcp://127.0.0.1:5223",
+                class => 'STDOUT',
             );
-            output webhook_distributor => (
-                class => 'ZeroMQ',
-                connect => "tcp://127.0.0.1:5227",
+            input null_in => (
+                class => 'Null',
+                output_to => 'logcollector_central',
             );
-            filter webhook_distributor_filter => (
-                class => 'All', # FIXME
-                output_to => 'webhook_distributor',
-            );
-            output esl_incoming_fanout => (
-                class => 'ZeroMQ',
-                connect => "tcp://127.0.0.1:5225",
-            );
-            filter esl_incoming_fanout_filter => (
-                class => 'All', # FIXME
-                output_to => 'esl_incoming_fanout',
-            );
-            filter t => (
-                class => 'T',
-                output_to => [qw/
-                    logcollector_central
-                    webhook_distributor_filter
-                    esl_incoming_fanout_filter
-                /],
-            );
-            input zmq_in => (
-                class => 'ZeroMQ',
-                socket_bind => 'tcp://127.0.0.1:5222',
-                output_to => 't',
-            );
-            input syslog_in => (
-                class => 'Syslog',
-                output_to => 't',
+            input test_in => (
+                class => 'STDIN',
+                output_to => 'logcollector_central',
             );
         };
 

-- 
libmessage-passing-perl Debian packaging



More information about the Pkg-perl-cvs-commits mailing list