# perldoc > Net::Server::Log::Sys::Syslog

## NAME
    [Net::Server::Log::Sys::Syslog](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AServer%3A%3ALog%3A%3ASys%3A%3ASyslog/markdown) - log via Syslog

## SYNOPSIS
        use base qw([Net::Server::PreFork](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AServer%3A%3APreFork/markdown));

        __PACKAGE__->run(
            log_file => '[Sys::Syslog](https://www.chedong.com/phpMan.php/perldoc/Sys%3A%3ASyslog/markdown)',
            syslog_ident => 'myapp',
        );

## DESCRIPTION
    This module provides [Sys::Syslog](https://www.chedong.com/phpMan.php/perldoc/Sys%3A%3ASyslog/markdown) logging to the [Net::Server](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AServer/markdown) system.

## CONFIGURATION
    log_file
        To begin using [Sys::Syslog](https://www.chedong.com/phpMan.php/perldoc/Sys%3A%3ASyslog/markdown) logging, simply set the [Net::Server](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AServer/markdown) log_file configuration
        parameter to "[Sys::Syslog](https://www.chedong.com/phpMan.php/perldoc/Sys%3A%3ASyslog/markdown)".

        If the magic name "[Sys::Syslog](https://www.chedong.com/phpMan.php/perldoc/Sys%3A%3ASyslog/markdown)" is used, all logging will take place via the [Sys::Syslog](https://www.chedong.com/phpMan.php/perldoc/Sys%3A%3ASyslog/markdown)
        module. If syslog is used the parameters "syslog_logsock", "syslog_ident", and
        "syslog_logopt",and "syslog_facility" may also be defined.

    syslog_logsock
        Only available if "log_file" is equal to "[Sys::Syslog](https://www.chedong.com/phpMan.php/perldoc/Sys%3A%3ASyslog/markdown)". May be either unix, inet, native,
        console, stream, udp, or tcp, or an arrayref of the types to try. Default is "unix" if the
        version of [Sys::Syslog](https://www.chedong.com/phpMan.php/perldoc/Sys%3A%3ASyslog/markdown) < 0.15 - otherwise the default is to not call setlogsock.

        See [Sys::Syslog](https://www.chedong.com/phpMan.php/perldoc/Sys%3A%3ASyslog/markdown).

    syslog_ident
        Only available if "log_file" is equal to "[Sys::Syslog](https://www.chedong.com/phpMan.php/perldoc/Sys%3A%3ASyslog/markdown)". Id to prepend on syslog entries.
        Default is "net_server". See [Sys::Syslog](https://www.chedong.com/phpMan.php/perldoc/Sys%3A%3ASyslog/markdown).

    syslog_logopt
        Only available if "log_file" is equal to "[Sys::Syslog](https://www.chedong.com/phpMan.php/perldoc/Sys%3A%3ASyslog/markdown)". May be either zero or more of
        "pid","cons","ndelay","nowait". Default is "pid". See [Sys::Syslog](https://www.chedong.com/phpMan.php/perldoc/Sys%3A%3ASyslog/markdown).

    syslog_facility
        Only available if "log_file" is equal to "[Sys::Syslog](https://www.chedong.com/phpMan.php/perldoc/Sys%3A%3ASyslog/markdown)". See [Sys::Syslog](https://www.chedong.com/phpMan.php/perldoc/Sys%3A%3ASyslog/markdown) and syslog. Default
        is "daemon".

DEFAULT ARGUMENTS FOR [Net::Server](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AServer/markdown)
    The following arguments are available in the default "[Net::Server](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AServer/markdown)" or "[Net::Server::Single](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AServer%3A%3ASingle/markdown)"
    modules. (Other personalities may use additional parameters and may optionally not use
    parameters from the base class.)

        Key               Value                    Default

        ## syslog parameters (if log_file eq [Sys::Syslog](https://www.chedong.com/phpMan.php/perldoc/Sys%3A%3ASyslog/markdown))
        syslog_logsock    (native|unix|inet|udp
                           |tcp|stream|console)    unix (on [Sys::Syslog](https://www.chedong.com/phpMan.php/perldoc/Sys%3A%3ASyslog/markdown) < 0.15)
        syslog_ident      "identity"               "net_server"
        syslog_logopt     (cons|ndelay|nowait|pid) pid
        syslog_facility   \w+                      daemon

## METHODS
    "initialize"
        This method is called during the initilize_logging method of [Net::Server](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AServer/markdown). It returns a
        single code ref that will be stored under the log_function property of the [Net::Server](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AServer/markdown)
        object. That code ref takes log_level and message as arguments and calls the initialized
        log4perl system.

    "handle_log_error"
        This method is called if the log_function fails for some reason. It is passed the
        [Net::Server](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AServer/markdown) object, the error that occurred while logging and an arrayref containing the log
        level and the message. In turn, this calls the legacy [Net::Server::handle_syslog_error](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AServer%3A%3Ahandlesyslogerror/markdown)
        method.

## LICENCE
    Distributed under the same terms as [Net::Server](https://www.chedong.com/phpMan.php/perldoc/Net%3A%3AServer/markdown)

