Solstice::Service::Debug - A service for managing debug levels


Solstice documentation Contained in the Solstice distribution.

Index


Code Index:

NAME

Top

Solstice::Service::Debug - A service for managing debug levels

SYNOPSIS

Top

    #adding debug messages in your application, in any Solstice subclass:
    $self->debug('tag', 'Message');
    #for example
    $self->debug('grading', 'grade set to 0 because of missing answer.');







    #To see debug messages:
    #in an application config:
    <url ...
        debug_level="grading storage"
    />

    #this will cause all debug messages tagged as "grading" or "storage" to be shown at this particular url

    #in the Solstice config:
    <debug_level>scam lifecycle</debug_level>

    #this will cause all debug messages tagged as "scam" or "lifecycle" to be shown for all urls













DESCRIPTION

Top

Export

No symbols exported.

Methods

new()

Creates a new YahooUI service object, and includes a collection of javascript files.

AUTHOR

Top

Catalyst Group, <catalyst@u.washington.edu>

VERSION

Top

$Revision: 3364 $

COPYRIGHT

Top


Solstice documentation Contained in the Solstice distribution.
package Solstice::Service::Debug;

# $Id: YahooUI.pm 3364 2006-05-05 07:18:21Z pmichaud $

use strict;
use warnings;
use 5.006_000;

use base qw(Solstice::Service);

use constant TRUE => 1;
use constant FALSE => 0;

sub new {
    my $obj = shift;
    my $tags = shift;
    my $self = $obj->SUPER::new(@_);

    if($tags){
        for my $tag (split(/,|\s+/, $tags)){
            $tag =~ s/^\s*//;
            $tag =~ s/\s*$//;
            $self->set($tag, TRUE);
        }
    }

    return $self;
}


sub debug {
    my ($self, $tag, $mesg, $package, $line) = @_;
    if($self->get($tag) || $self->get('all')){
        $mesg =~ s/^\s*//;
        $mesg =~ s/\s*$//;
        $mesg .= " at $package line $line\n";
        warn $mesg;
    }
    return TRUE;
}

1;

__END__