The Perl Advent Calendar needs more articles for 2022. Submit your idea today!
=for comment POD_DERIVED_INDEX_GENERATED
The following documentation is automatically generated.  Please do not edit
this file, but rather the original, inline with Tickit::Widget::LogAny
at lib/Tickit/Widget/LogAny.pm
(on the system that originally ran this).
If you do edit this file, and don't want your changes to be removed, make
sure you change the first line.

=cut

=head1 NAME

Tickit::Widget::LogAny - log message rendering

=head1 VERSION

version 0.005

=head1 SYNOPSIS

 #!/usr/bin/env perl
 use strict;
 use warnings;
 
 use Tickit;
 use Tickit::Widget::LogAny;
 use Log::Any qw($log);
 
 my $tickit = Tickit->new(
 	root => Tickit::Widget::LogAny->new(
 		stderr => 1,
 	)
 );
 print STDERR "print to STDERR\n";
 printf STDERR "printf(...) to %s", 'STDERR';
 warn "a warning\n";
 warn "a warning with no \\n";
 $log->trace('trace message');
 $log->info('info message');
 $log->debug('debug message');
 $log->notice('notice message');
 $log->warn('warn message');
 $log->error('error message');
 $log->critical('critical message');
 $tickit->run;

=head1 DESCRIPTION

Provides basic log rendering, with optional C<warn> / C<STDERR> capture.

=begin HTML

<p>Basic rendering:</p>
<p><img src="http://tickit.perlsite.co.uk/cpan-screenshot/tickit-widget-logany-basic.png" alt="Log::Any output displayed in Tickit widget" width="663" height="208"></p>
<p>Stack trace popup:</p>
<p><img src="http://tickit.perlsite.co.uk/cpan-screenshot/tickit-widget-logany-stacktrace.png" alt="Log message with stack trace popup display using Tickit desktop layout" width="675" height="362"></p>

=end HTML

Activating any line in the list of log messages (typically by pressing C<Enter>) will
show the stack trace for that entry. Use the OK button to close (typically by pressing
C<Tab>, then C<Enter>).

=head1 METHODS

=head2 new

Takes the following named parameters:

=over 4

=item * warn - if true, will install a handler for warn()

=item * stderr - if true, will install a handler for all STDERR output

=item * scroll - if true (default), will attempt to scroll the window on new entries

=item * max_entries - will limit the number of entries we'll store, default is 5000, set to 0 for no limit

=back

=head1 SEE ALSO

=over 4

=item * L<Log::Any>

=item * L<Log::Any::Adapter::Tickit>

=item * L<Tie::Tickit::STDERR>

=back

=head1 INHERITED METHODS

=over 4

=item L<Tickit::ContainerWidget>

L<add|Tickit::ContainerWidget/add>, L<child_opts|Tickit::ContainerWidget/child_opts>, L<child_resized|Tickit::ContainerWidget/child_resized>, L<children_changed|Tickit::ContainerWidget/children_changed>, L<find_child|Tickit::ContainerWidget/find_child>, L<focus_next|Tickit::ContainerWidget/focus_next>, L<remove|Tickit::ContainerWidget/remove>, L<set_child_opts|Tickit::ContainerWidget/set_child_opts>, L<window_lost|Tickit::ContainerWidget/window_lost>

=item L<Tickit::Widget>

L<get_style_pen|Tickit::Widget/get_style_pen>, L<get_style_text|Tickit::Widget/get_style_text>, L<get_style_values|Tickit::Widget/get_style_values>, L<key_focus_next_after|Tickit::Widget/key_focus_next_after>, L<key_focus_next_before|Tickit::Widget/key_focus_next_before>, L<parent|Tickit::Widget/parent>, L<pen|Tickit::Widget/pen>, L<redraw|Tickit::Widget/redraw>, L<requested_cols|Tickit::Widget/requested_cols>, L<requested_lines|Tickit::Widget/requested_lines>, L<requested_size|Tickit::Widget/requested_size>, L<reshape|Tickit::Widget/reshape>, L<resized|Tickit::Widget/resized>, L<set_parent|Tickit::Widget/set_parent>, L<set_requested_size|Tickit::Widget/set_requested_size>, L<set_style|Tickit::Widget/set_style>, L<set_style_tag|Tickit::Widget/set_style_tag>, L<set_window|Tickit::Widget/set_window>, L<style_classes|Tickit::Widget/style_classes>, L<take_focus|Tickit::Widget/take_focus>, L<window|Tickit::Widget/window>

=back

=head1 AUTHOR

Tom Molesworth <TEAM@cpan.org>

=head1 LICENSE

Copyright Tom Molesworth 2014-2015. Licensed under the same terms as Perl itself.