Dummy driver for forking output to multiple drivers
use Log::Agent; require Log::Agent::Driver::Fork; require Log::Agent::Driver::Foo; require Log::Agent::Driver::Bar; my $driver = Log::Agent::Driver::Fork->make( Log::Agent::Driver::Foo->make( ... ), Log::Agent::Driver::Bar->make( ... ) ); logconfig(-driver => $driver);
This driver merely acts a multiplexer for logxxx() calls, duplicating them and distributing them to other drivers.
The only routine of interest here is the creation routine:
Create a Log::Agent::Driver::Fork driver that duplicates logxxx() calls and distributes them to the drivers in @drivers. The arguments must be the return value of the make() call for the client drivers.
Many thanks go to Daniel Lundin and Jason May who proposed this module independently. Eventually, logconfig() will support multiple drivers directly. But, for now, this solution requires no change to the existing interface.
Mark Rogaski <[email protected]>
Copyright (C) 2002 Mark Rogaski; all rights reserved.
See Log::Agent\|(3) or the \s-1README\s0 file included with the distribution for license information.
Log::Agent::Driver\|(3), Log::Agent\|(3).