<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.6 $ -->
<!-- splitted from ./en/functions/network.xml, last change in rev 1.9 -->
  <refentry id="function.syslog">
   <refnamediv>
    <refname>syslog</refname>
    <refpurpose>Generate a system log message</refpurpose> 
   </refnamediv>
   <refsect1>
    <title>Description</title>
     <methodsynopsis>
      <type>int</type><methodname>syslog</methodname>
      <methodparam><type>int</type><parameter>priority</parameter></methodparam>
      <methodparam><type>string</type><parameter>message</parameter></methodparam>
     </methodsynopsis>
    <para>
     <function>syslog</function> generates a log message that will be
     distributed by the system logger.
     <parameter>priority</parameter> is a combination of the facility
     and the level, values for which are given in the next section.
     The remaining argument is the message to send, except that the
     two characters <literal>%m</literal> will be replaced by the
     error message string (strerror) corresponding to the present
     value of <errortype>errno</errortype>.
    </para>
    <para>
     <table>
      <title><function>syslog</function> Priorities (in descending order)</title>
      <tgroup cols="2">
       <thead>
        <row>
         <entry>Constant</entry>
         <entry>Description</entry>
        </row>
       </thead>
       <tbody>
        <row>
         <entry>LOG_EMERG</entry>
         <entry>system is unusable</entry>
        </row>
        <row>
         <entry>LOG_ALERT</entry>
         <entry>action must be taken immediately</entry>
        </row>
        <row>
         <entry>LOG_CRIT</entry>
         <entry>critical conditions</entry>
        </row>
        <row>
         <entry>LOG_ERR</entry>
         <entry>error conditions</entry>
        </row>
        <row>
         <entry>LOG_WARNING</entry>
         <entry>warning conditions</entry>
        </row>
        <row>
         <entry>LOG_NOTICE</entry>
         <entry>normal, but significant, condition</entry>
        </row>
        <row>
         <entry>LOG_INFO</entry>
         <entry>informational message</entry>
        </row>
        <row>
         <entry>LOG_DEBUG</entry>
         <entry>debug-level message</entry>
        </row>
       </tbody>
      </tgroup>
     </table>
    </para>
    <para>
     <example>
      <title>Using <function>syslog</function></title>
      <programlisting role="php">
<![CDATA[
<?php
define_syslog_variables();
// open syslog, include the process ID and also send
// the log to standard error, and use a user defined
// logging mechanism
openlog("myScriptLog", LOG_PID | LOG_PERROR, LOG_LOCAL0);

// some code

if (authorized_client()) {
    // do something
} else {
    // unauthorized client!
    // log the attempt
    $access = date("Y/m/d H:i:s");
    syslog(LOG_WARNING, "Unauthorized client: $access $_SERVER[REMOTE_ADDR] ($_SERVER[HTTP_USER_AGENT])");
}

closelog();
?>
]]>
      </programlisting>
     </example>
     For information on setting up a user defined log handler, see the
     <citerefentry><refentrytitle>syslog.conf</refentrytitle>
     <manvolnum>5</manvolnum></citerefentry> Unix manual page.  More
     information on the syslog facilities and option can be found in the man
     pages for <citerefentry><refentrytitle>syslog</refentrytitle>
     <manvolnum>3</manvolnum></citerefentry> on Unix machines.
    </para>
    <para>
     On Windows NT, the syslog service is emulated using the Event
     Log.
    </para>
    <note>
     <para>
      Use of <literal>LOG_LOCAL0</literal> through
      <literal>LOG_LOCAL7</literal> for the <parameter>facility</parameter> 
      parameter of <function>openlog</function> is not available
      in Windows.
     </para>
    </note>
    <para>
     See also <function>define_syslog_variables</function>,
     <function>openlog</function> and
     <function>closelog</function>.
    </para>
   </refsect1>
  </refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->