The Perl Advent Calendar needs more articles for 2022. Submit your idea today!
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/
(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.


=head1 NAME

Tickit::Widget::LogAny - log message rendering

=head1 VERSION

version 0.005


 #!/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');


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

=begin HTML

<p>Basic rendering:</p>
<p><img src="" alt="Log::Any output displayed in Tickit widget" width="663" height="208"></p>
<p>Stack trace popup:</p>
<p><img src="" 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


=head1 SEE ALSO

=over 4

=item * L<Log::Any>

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

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



=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>


=head1 AUTHOR

Tom Molesworth <>

=head1 LICENSE

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