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 <
[email protected]>
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.