X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Manual.git;a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FTutorial%2FDebugging.pod;h=22d72868b87c1eb827b89ef9eeba221e40099e13;hp=5cf5b6ac863f8403497df9cfd0515b034032fb64;hb=ebde193e2c1af944fc589640ae774732b344a75e;hpb=1390ef0ecd30a0dcfe59f212353ed81094fdf64a diff --git a/lib/Catalyst/Manual/Tutorial/Debugging.pod b/lib/Catalyst/Manual/Tutorial/Debugging.pod index 5cf5b6a..22d7286 100644 --- a/lib/Catalyst/Manual/Tutorial/Debugging.pod +++ b/lib/Catalyst/Manual/Tutorial/Debugging.pod @@ -1,11 +1,11 @@ =head1 NAME -Catalyst::Manual::Tutorial::Debugging - Catalyst Tutorial - Part 7: Debugging +Catalyst::Manual::Tutorial::Debugging - Catalyst Tutorial - Chapter 7: Debugging =head1 OVERVIEW -This is B for the Catalyst tutorial. +This is B for the Catalyst tutorial. L @@ -56,7 +56,7 @@ L =head1 DESCRIPTION -This part of the tutorial takes a brief look at the primary options +This chapter of the tutorial takes a brief look at the primary options available for troubleshooting Catalyst applications. Note that when it comes to debugging and troubleshooting, there are two @@ -93,6 +93,16 @@ template view use: [% c.log.debug("This is a test log message") %] +As with many other logging facilities, you a method is defined for +each of the following "logging levels" (in increasing order of +severity/importance): + + $c->log->debug + $c->log->info + $c->log->warn + $c->log->error + $c->log->fatal + You can also use L in both Catalyst code (Clog-Edebug("\$var is: ".Dumper($var));)>) and TT templates (C<[% Dumper.dump(book) %]>. @@ -139,12 +149,12 @@ This will start the interactive debugger and produce output similar to: $ perl -d script/myapp_server.pl - Loading DB routines from perl5db.pl version 1.27 + Loading DB routines from perl5db.pl version 1.3 Editor support available. Enter h or `h h' for help, or `man perldebug' for more help. - main::(script/myapp_server.pl:14): my $debug = 0; + main::(script/myapp_server.pl:16): my $debug = 0; DB<1> @@ -158,8 +168,8 @@ in. Once the breakpoint is encountered in the C method, the console session running the development server will drop to the Perl debugger prompt: - MyApp::Controller::Books::list(/home/me/MyApp/script/../lib/MyApp/Controller/Books.pm:40): - 40: $c->stash->{books} = [$c->model('DB::Books')->all]; + MyApp::Controller::Books::list(/home/me/MyApp/script/../lib/MyApp/Controller/Books.pm:48): + 48: $c->stash->{books} = [$c->model('DB::Books')->all]; DB<1> @@ -170,8 +180,8 @@ C into methods/subroutines): DB<1> n SELECT me.id, me.authors, me.title, me.rating FROM books me: - MyApp::Controller::Books::list(/home/me/MyApp/script/../lib/MyApp/Controller/Books.pm:44): - 44: $c->stash->{template} = 'books/list.tt2'; + MyApp::Controller::Books::list(/home/me/MyApp/script/../lib/MyApp/Controller/Books.pm:53): + 53: $c->stash->{template} = 'books/list.tt2'; DB<1> @@ -185,15 +195,11 @@ Next, list the methods available on our C model: () (0+ (bool - MODIFY_CODE_ATTRIBUTES - _attr_cache - _collapse_result - _construct_object - _count - _result_class_accessor - _result_source_accessor - all - carp + __source_handle_accessor + _add_alias + _build_unique_query + _calculate_score + _collapse_cond DB<2> @@ -258,9 +264,9 @@ copy of an installed module: mkdir -p lib/Module; cp `perldoc -l Module::Name` lib/Module/ -Note: If you are following along in Ubuntu, you will need to install +Note: If you are following along in Debian 5, you will need to install the C package to use the C command. Use -C to do that. +C to do that. For example, you could make a copy of L @@ -337,7 +343,7 @@ Kennedy Clark, C Please report any errors, issues or suggestions to the author. The most recent version of the Catalyst Tutorial can be found at -L. +L. Copyright 2006-2008, Kennedy Clark, under Creative Commons License (L).