Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Log::Contextual::TeeLoUser(Contributed Perl DocumLog::Contextual::TeeLogger(3)

NAME
       Log::Contextual::TeeLogger - Output to more than	one logger

VERSION
       version 0.007000

SYNOPSIS
	use Log::Contextual::SimpleLogger;
	use Log::Contextual::TeeLogger;
	use Log::Contextual qw(	:log ),
	  -logger => Log::Contextual::TeeLogger->new({ loggers => [
	    Log::Contextual::SimpleLogger->new({ levels	=> [ 'debug' ] }),
	    Log::Contextual::SimpleLogger->new({
	      levels =>	[ 'info' ],
	      coderef => sub { print @_	},
	    }),
	  ]});

	## docs	below here not yet edited

	log_info { 'program started' };	# no-op	because	info is	not in levels
	sub foo	{
	  log_debug { 'entered foo' };
	  ...
	}

DESCRIPTION
       This module is a	simple logger made mostly for demonstration and
       initial experimentation with Log::Contextual.  We recommend you use a
       real logger instead.  For something more	serious	but not	overly
       complicated, take a look	at Log::Dispatchouli.

METHODS
   new
       Arguments: "Dict[ levels	=> ArrayRef[Str], coderef => Optional[CodeRef]
       ] $conf"

	my $l =	Log::Contextual::SimpleLogger->new({
	  levels => [qw( info warn )],
	  coderef => sub { print @_ }, # the default prints to STDERR
	});

       Creates a new SimpleLogger object with the passed levels	enabled	and
       optionally a "CodeRef" may be passed to modify how the logs are
       output/stored.

       Levels may contain:

	trace
	debug
	info
	warn
	error
	fatal

   $level
       Arguments: @anything

       All of the following six	methods	work the same.	The basic pattern is:

	sub $level {
	  my $self = shift;

	  print	STDERR "[$level] " . join qq{\n}, @_;
	     if	$self->is_$level;
	}

       trace

	$l->trace( 'entered method foo with args ' join	q{,}, @args );

       debug

	$l->debug( 'entered method foo'	);

       info

	$l->info( 'started process foo'	);

       warn

	$l->warn( 'possible misconfiguration at	line 10' );

       error

	$l->error( 'non-numeric	user input!' );

       fatal

	$l->fatal( '1 is never equal to	0!' );

   is_$level
       All of the following six	functions just return true if their respective
       level is	enabled.

       is_trace

	say 'tracing' if $l->is_trace;

       is_debug

	say 'debuging' if $l->is_debug;

       is_info

	say q{info'ing}	if $l->is_info;

       is_warn

	say 'warning' if $l->is_warn;

       is_error

	say 'erroring' if $l->is_error;

       is_fatal

	say q{fatal'ing} if $l->is_fatal;

AUTHOR
       Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2016 by Arthur Axel "fREW" Schmidt.

       This is free software; you can redistribute it and/or modify it under
       the same	terms as the Perl 5 programming	language system	itself.

perl v5.32.1			  2016-04-12	 Log::Contextual::TeeLogger(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | METHODS | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Log::Contextual::TeeLogger&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help