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

FreeBSD Manual Pages

  
 
  

home | help
Dancer2::Logger::CaptuUser)Contributed Perl DocumenDancer2::Logger::Capture(3)

NAME
       Dancer2::Logger::Capture	- Capture dancer logs

VERSION
       version 0.300004

SYNOPSIS
       The basics:

	   set logger => "capture";

	   my $trap = dancer_app->logger_engine->trapper;
	   my $logs = $trap->read;

       A worked-out real-world example:

	   use Test::More tests	=> 2;
	   use Dancer2;

	   set logger => 'capture';

	   warning "Danger!  Warning!";
	   debug   "I like pie.";

	   my $trap = dancer_app->logger_engine->trapper;

	   is_deeply $trap->read, [
	       { level => "warning", message =>	"Danger!  Warning!" },
	       { level => "debug",   message =>	"I like	pie.", }
	   ];

	   # each call to read cleans the trap
	   is_deeply $trap->read, [];

DESCRIPTION
       This is a logger	class for Dancer2 which	captures all logs to an
       object.

       It's primary purpose is for testing. Here is an example of a test:

	   use strict;
	   use warnings;
	   use Test::More;
	   use Plack::Test;
	   use HTTP::Request::Common;
	   use Ref::Util qw<is_coderef>;

	   {
	       package App;
	       use Dancer2;

	       set log	     =>	'debug';
	       set logger    =>	'capture';

	       get '/' => sub {
		   log(debug =>	'this is my debug message');
		   log(core  =>	'this should not be logged');
		   log(info  =>	'this is my info message');
	       };
	   }

	   my $app = Dancer2->psgi_app;
	   ok( is_coderef($app), 'Got app' );

	   test_psgi $app, sub {
	       my $cb =	shift;

	       my $res = $cb->(	GET '/'	);

	       my $trap	= App->dancer_app->logger_engine->trapper;

	       is_deeply $trap->read, [
		   { level => 'debug', message => 'this	is my debug message' },
		   { level => 'info',  message => 'this	is my info message' },
	       ];

	       is_deeply $trap->read, [];
	   };

	   done_testing;

METHODS
   trapper
       Returns the Dancer2::Logger::Capture::Trap object used to capture and
       read logs.

SEE ALSO
       Dancer2::Core::Role::Logger, Dancer2::Logger::Capture::Trap

AUTHOR
       Dancer Core Developers

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2020 by Alexis Sukrieh.

       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			  2020-05-27	   Dancer2::Logger::Capture(3)

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

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

home | help