View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Nir Pengas > Logger > Logger::Logger



Annotate this POD

View/Report Bugs
Module Version: 0.34   Source  


 Logger - Smart debugging tool which outputs logging messages in a nifty and elaborate format.



    use Logger::Logger;
    $debug_file = '/tmp/foo.log';
    $logger = new Logger::Logger ( $debug_file, 0 ) or die "Can't create object: Logger::Logger::Error;

    $logger->debug_message ( 'Logger will tell you the package, subroutine, line number and the time your debug message originated from' );
    $logger->debug_message ( 'This line is separated from the previous one' );
    $logger->debug_message ( "Exception caught: $@", 'ERROR' ); # This message will blink in Red.
    $logger->debug_message ( "This line is much longer to fit in a single row. Logger will split it nicely, without chopping off words and display it in multiple rows" );


    use Logger::Logger;
    $debug_file = '/tmp/foo.log';
    $logger = new Logger::Logger ( $debug_file, 1 ) or die "Can't create object: Logger::Logger::Error;
    $logger->debug_message ( 'This message will be concatenated to your log file, without STDERR polution' );


    The Logger module is a nifty tool to organaize your debug messages, and thus your understand of the program flow.

    While writing your code you need a tool to output your debug messages.
    You want to see where the message originated from ( which module, which subroutine, line number and at what time ),
    so you can proceed directly to solving the matter, rather than search for it's location.
    You want to destinguish between an ERROR message, and yet another flow control message ( an INFO message ).
    Not only you want to see the messages on screen, you want to have them in a local file as well.
    Sometimes you might write a deamon that works in the background. In this case you need not see logging messages
    poluting your terminal.
    Logger does just that.

    There are 3 working modes for Logger:

    (1) Debugging to STDERR + file.
    (2) Debugging to STDERR only.
    (3) Debugging to file only ( daemon/silent mode ).


    The Logger module uses pack() to indent the output.
    You can control the  width of each field by altering the code:
    my $time_pack = 'A18'; This mean the 'TIME' column is 18 byte long.
    my $sub_pack  = 'A39';
    my $line_pack = 'A6';
    my $msg_pack  = 'A97';
    Upon modification of this fields, Logger automatically calculates the new scheme,
    and adjusts all relevant fields accordingly, to your convenience.


    None at the moment. 
    If you have any question or comment -


    Copyright 2001-2002, Pengas Nir

    This library is free software - you can redistribute 
    it and/or modify it and/or do what ever you damn desire - 
    under the same terms as Perl itself.
syntax highlighting: