Help-Site Computer Manuals
Software
Hardware
Programming
Networking
  Algorithms & Data Structures   Programming Languages   Revision Control
  Protocols
  Cameras   Computers   Displays   Keyboards & Mice   Motherboards   Networking   Printers & Scanners   Storage
  Windows   Linux & Unix   Mac

Log::Dispatch::TextTable
log events to a textual table

Log::Dispatch::TextTable - log events to a textual table


NAME

Log::Dispatch::TextTable - log events to a textual table


VERSION

version 0.031


 $Id: /my/cs/projects/logtable/trunk/lib/Log/Dispatch/TextTable.pm 28008 2006-11-14T22:23:03.276593Z rjbs  $


SYNOPSIS


  use Log::Dispatch;

  use Log::Dispatch::TextTable;

 

  my $log = Log::Dispatch->new;

 

  $log->add(Log::Dispatch::TextTable->new(

    name      => 'text_table',

    min_level => 'debug',

    flush_if  => sub { (shift)->event_count >= 60 },

  ));

 

  while (@events) {

    # every 60 events, a formatted table is printed to the screen

    $log->warn($_);

  }


DESCRIPTION

This provides a Log::Dispatch log output system that builds logged events into a textual table and, when done, does something with the table. By default, it will print the table.


METHODS

new


 my $table_log = Log::Dispatch::TextTable->new(\%arg);

This method constructs a new Log::Dispatch::TextTable output object. Valid arguments are:


  send_to  - a coderef indicating where to send the logging table (optional)

             defaults to print to stdout; see transmit method

  flush_if - a coderef indicating whether, if ever, to flush (optional)

             defaults to never flush; see should_flush and flush methods

  columns  - an arrayref of columns to include in the table; message, level,

             and time are always provided

log_message

This is the method which performs the actual logging, as detailed by Log::Dispatch::Output. It adds the data to the table and may flush. (See should_flush.)

table

This method returns the Text::Table object being used for the log's logging.

entry_count

This method returns the current number of entries in the table.

flush

This method transmits the current table and then clears it. This is useful for emptying large tables every now and then.

should_flush

This method returns true if the logger is ready to flush its contents. This is always false, unless a flush_if callback was provided during instantiation.

The callback is passed the Log::Dispatch::TextTable object and a reference to the last entry logged.

transmit

This method sends out the table's current contents to their destination via the callback provided via the send_to argument to new.


AUTHOR

Ricardo Signes, <rjbs@cpan.org>


TODO

I'd like to make it possible to transmit just the rows since the last transmit without flushing, but Text::Table needs a bit of a patch for that.


BUGS

Please report any bugs or feature requests to bug-log-dispatch-table@rt.cpan.org, or through the web interface at http://rt.cpan.org. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


COPYRIGHT

Copyright 2005-2006 Ricardo SIGNES, All Rights Reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Programminig
Wy
Wy
yW
Wy
Programming
Wy
Wy
Wy
Wy