Log::Dispatch::Screen - Object for logging to the screen


version 2.70


  use Log::Dispatch;

  my $log = Log::Dispatch->new(
      outputs => [
              min_level => 'debug',
              stderr    => 1,
              newline   => 1

  $log->alert("I'm searching the city for sci-fi wasabi");


This module provides an object for logging to the screen (really STDOUT or STDERR).

Note that a newline will not be added automatically at the end of a message by default. To do that, pass newline => 1.

The handle will be autoflushed, but this module opens it's own handle to fd 1 or 2 instead of using the global STDOUT or STDERR.


The constructor takes the following parameters in addition to the standard parameters documented in Log::Dispatch::Output:

  • stderr (0 or 1)

    Indicates whether or not logging information should go to STDERR. If false, logging information is printed to STDOUT instead.

    This defaults to true.

  • utf8 (0 or 1)

    If this is true, then the output uses binmode to apply the :encoding(UTF-8) layer to the relevant handle for output. This will not affect STDOUT or STDERR in other parts of your code.

    This defaults to false.


Bugs may be submitted at

I am also usually active on IRC as 'autarch' on irc://


The source code repository for Log-Dispatch can be found at


Dave Rolsky <>


This software is Copyright (c) 2020 by Dave Rolsky.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)

The full text of the license can be found in the LICENSE file included with this distribution.