NAME
DBIx::Class::QueryLog::Conditional - Disable QueryLogger instead of all query logging
VERSION
version 0.001000
SYNOPSIS
my $ql = DBIx::Class:::QueryLog->new;
$schema->storage->debugobj(
DBIx::Class:::QueryLog::Tee->new(
loggers => {
new => $ql,
original => DBIx::Class::QueryLog::Conditional->new(
logger => $self->storage->debugobj,
enabled_method => sub { $ENV{DBIC_TRACE} },
),
},
),
);
$schema->storage->debug(1);
Now the original storageobj is enabled and disabled based on the standard env var.
DESCRIPTION
When you use DBIx::Class::QueryLog::Tee you will likely find that suddenly you are logging everything. Before ::Tee
came along your console was inconsolable, dispondant; you never heard from it again. After using ::Tee
suddenly your silent, morose query log became manic. It woudln't shut up! This was not what you bargained for...
DBIx::Class::QueryLog::Conditional
is part of The Final Equation. Instead of no noise, or all noise, ::Conditional
is the bear that gives you just the right amount and temperature of porridge.
METHODS
new
Requires a logger
that must be a "LOGGER". Can optionally take either enabled
or enabled_method
.
enabled
is a simple bool, defaulting to true.
enabled_method
is a code reference called as a method. It defaults to checking "enabled". A good alternate is proposed in the "SYNOPSIS".
enabled
A simple helper attribute. Defaults to true, can be set to false to turn off your logger via code.
LOGGER
A logger is defined as an object that has the following methods:
txn_begin txn_commit txn_rollback
svp_begin svp_release svp_rollback
query_start query_end
AUTHOR
Arthur Axel "fREW" Schmidt <frioux+cpan@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 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.