__PACKAGE__->mk_classdata($_) for qw/_config log/;
-our $VERSION = '4.28';
+our $VERSION = '4.33';
our @ISA;
=head1 NAME
See L<Catalyst::Manual> for more documentation.
-Omit the Catalyst::Plugin:: prefix from plugins.
-So Catalyst::Plugin::My::Module becomes My::Module.
+Catalyst plugins can be loaded by naming them as arguments to the "use Catalyst" statement.
+Omit the C<Catalyst::Plugin::> prefix from the plugin name,
+so C<Catalyst::Plugin::My::Module> becomes C<My::Module>.
use Catalyst 'My::Module';
-You can also set special flags like -Debug and -Engine.
+Special flags like -Debug and -Engine can also be specifed as arguments when
+Catalyst is loaded:
use Catalyst qw/-Debug My::Module/;
-The position of plugins and flags in the chain is important,
-because they are loaded in the same order they appear.
+The position of plugins and flags in the chain is important, because they are
+loaded in exactly the order that they appear.
-=head2 -Debug
+The following flags are supported:
+
+=over 4
+
+=item -Debug
+
+enables debug output, i.e.:
use Catalyst '-Debug';
-is equivalent to
+this is equivalent to:
use Catalyst;
sub debug { 1 }
-=head2 -Engine
+=item -Engine
Force Catalyst to use a specific engine.
-Omit the Catalyst::Engine:: prefix.
+Omit the C<Catalyst::Engine::> prefix of the engine name, i.e.:
use Catalyst '-Engine=CGI';
-=head2 METHODS
+=back
+
+=head1 METHODS
-=head3 debug
+=over 4
+
+=item debug
Overload to enable debug messages.
sub debug { 0 }
-=head3 config
+=item config
Returns a hashref containing your applications settings.
no strict 'refs';
*{"$caller\::handler"} =
sub { Catalyst::Engine::handler( $caller, @_ ) };
- push @{"$caller\::ISA"}, $self;
+
+ unless ( $caller->isa($self) ) {
+ push @{"$caller\::ISA"}, $self;
+ }
+ }
+
+ unless ( $caller->log ) {
+ $caller->log( Catalyst::Log->new );
}
- $self->log( Catalyst::Log->new );
# Options
my $engine =
if (/^\-Debug$/) {
no warnings;
no strict 'refs';
- *{"$self\::debug"} = sub { 1 };
+ *{"$caller\::debug"} = sub { 1 };
$caller->log->debug('Debug messages enabled');
}
elsif (/^-Engine=(.*)$/) { $engine = "Catalyst::Engine::$1" }
$caller->log->debug(qq/Loaded engine "$engine"/) if $caller->debug;
}
+=item $c->log
+
+Contains the logging object. Unless it is already set Catalyst sets this up with a
+C<Catalyst::Log> object. To use your own log class:
+
+ $c->log( MyLogger->new );
+ $c->log->info("now logging with my own logger!");
+
+Your log class should implement the methods described in the C<Catalyst::Log>
+man page.
+
+
+=back
+
=head1 SUPPORT
IRC:
=head1 THANK YOU
-Andrew Ruthven, Christian Hansen, Christopher Hicks, Danijel Milicevic,
-David Naughton, Gary Ashton Jones, Jesse Sheidlower, Johan Lindstrom,
-Marcus Ramberg, Tatsuhiko Miyagawa and all the others who've helped.
+Andrew Ford, Andrew Ruthven, Christian Hansen, Christopher Hicks,
+Dan Sully, Danijel Milicevic, David Naughton, Gary Ashton Jones,
+Jesse Sheidlower, Johan Lindstrom, Marcus Ramberg, Tatsuhiko Miyagawa
+and all the others who've helped.
=head1 LICENSE