乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      PHP: syslog

       docSky 2012-08-14

      syslog

      (PHP 4, PHP 5)

      syslogGenerate a system log message

      reject note Description

      bool syslog ( int $priority , string $message )

      syslog() generates a log message that will be distributed by the system logger.

      For information on setting up a user defined log handler, see the syslog.conf (5) Unix manual page. More information on the syslog facilities and option can be found in the man pages for syslog (3) on Unix machines.

      reject note Parameters

      priority

      priority is a combination of the facility and the level. Possible values are:

      syslog() Priorities (in descending order)
      Constant Description
      LOG_EMERG system is unusable
      LOG_ALERT action must be taken immediately
      LOG_CRIT critical conditions
      LOG_ERR error conditions
      LOG_WARNING warning conditions
      LOG_NOTICE normal, but significant, condition
      LOG_INFO informational message
      LOG_DEBUG debug-level message

      message

      The message to send, except that the two characters %m will be replaced by the error message string (strerror) corresponding to the present value of errno.

      reject note Return Values

      Returns TRUE on success or FALSE on failure.

      reject note Examples

      Example #1 Using syslog()

      <?php
      // 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_PERRORLOG_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();
      ?>

      reject note Notes

      On Windows NT, the syslog service is emulated using the Event Log.

      Note:

      Use of LOG_LOCAL0 through LOG_LOCAL7 for the facility parameter of openlog() is not available in Windows.

      reject note See Also



      RRD> <socket_set_timeout
      [edit] Last updated: Fri, 10 Aug 2012
       
      reject note add a note add a note User Contributed Notes syslog
      Antonio Lobato 11-May-2010 01:57
      A word of warning; if you use openlog() to ready syslog() and your Apache threads accept multiple requests, you *must* call closelog() if Apache's error log is configured to write to syslog.  Failure to do so will cause Apache's error log to write to whatever facility/ident was used in openlog.

      Example, in httpd.conf you have:

      ErrorLog syslog:local7

      and in php you do:

      <?php
      openlog
      ("myprogram", 0, LOG_LOCAL0);
      syslog("My syslog message");
      ?>

      From here on out, this Apache thread will write ErrorLog to local0 and under the process name "myprogram" and not httpd!  Calling closelog() will fix this.
      james dot ellis at gmail dot com 02-Dec-2007 08:26
      If anyone is wondering why their log messages are appearing in multiple log files, here is one answer applying to *nix systems:

      If your syslog.conf looks like this (assuming you use LOG_LOCAL0 for web app logging) :

      local0.info    /var/log/web/info.log

      This will collect *all* messages of LOG_INFO level and higher, i.e everything except debug messages

      Try this instead to ensure that only messages of the named log level go into the relevant log file:

      local0.=info    /var/log/web/info.log

      Additionally, you may like to add this to ensure your messages don't end up in generic log files like "messages"  "all" "syslog" and "debug":

      local0.none    /var/log/messages
      local0.none    /var/log/debug
      etc

      saves disk space among other things - more at "man syslog.conf"
      helly at php dot net 13-Apr-2007 05:49
      If you are using syslog-ng and want errors send to syslog then use ini setting "error_log = syslog" and add something like the following to your syslog-ng.conf:

      destination php { file("/var/log/php.log" owner(root) group(devel) perm(0620)); };
      log { source(src); filter(f_php); destination(php); };
      adam _at_ lockdownnetworks _dot_ com 10-Apr-2007 06:32
      Be aware when using syslog() that if you set the timezone of environment to be something other than the standard, syslog() may log the time to the log(s) with the wrong time zone information. For example:

      <?php

      openlog
      ('mylog', LOG_PID | LOG_ODELAY,LOG_LOCAL4);

      putenv('TZ=UTC');
      syslog(LOG_INFO, 'UTC Log line');

      putenv('TZ=US/Pacific');
      syslog(LOG_INFO, 'US/Pacific Log line');

      closelog();

      ?>

      Viewing the /usr/log/messages log will display these two lines:

      Apr 11 01:25:39 hostname mylog[1400]: UTC Log line
      Apr 10 18:25:39 hostname mylog[1400]: US/Pacific Log line

      Adam.
      Torsten 23-Apr-2004 06:27
      I had a problem trying to issue a syslog message with IIS 5.1 under Windows XP. The function call seemed to succeed, but the event viewer showed that no entry was made.
      Finally I found out that the user account used for the webserver (IUSR_<Computername>) did not have enough permissions to issue syslog alerts. I changed this by adding this user to the Users group instead of only Guest.
      daniele dot patoner at biblio dot unitn dot it 06-Nov-2003 11:00
      This work for me, to redirect  logs to a separate syslog file

      put this line in your /etc/syslog.conf :

      local0.debug   /var/log/php.log

      Then restart syslogd:

      /etc/init.d/syslog restart

      php example:

      <?php
      define_syslog_variables
      ();
      openlog("TextLog", LOG_PID, LOG_LOCAL0);

      $data = date("Y/m/d H:i:s");
      syslog(LOG_DEBUG,"Messagge: $data");

      closelog();
      ?>
      gregj at pdxperts dot com 28-Jul-2003 05:05
      The message string sent to the log file is limited to 500 characters.
      monte at ispi dot net 03-Jul-2003 11:05
      If you have php.ini setup to send PHP errors to syslog, they will all get dumped into /var/log/messages (at least it does with RedHat 9 by default). I wanted to figure out how to get PHP errors to go to their own syslog file.

      After some trial and error, I figured out what facility and priority PHP uses, which is "user.notice". So, to get your PHP errors going to a separate syslog file, put this line in your /etc/syslog.conf :

      user.notice   /var/log/php.log

      Then restart syslogd:

      /etc/init.d/syslog restart

      Why PHP uses "user" as the facility I'm not sure, probably because it's the only one that works under Windows?

      Monte
      nospam \100 jraxis com (that's right!) 31-Mar-2002 08:32
      This *does* actually goto the system log as configured in /etc/syslog.conf (such as /var/log/messages), it doesn't goto Apache's ErrorLog (such as /var/log/httpd/error_log). At least under my Debian Potato with Apache 1.3.23.

      Use error_log() to be sure it gets into Apache's ErrorLog.
      dpreece at paradise dot net dot nz 29-Jan-2002 04:08
      To set up a custom log file via the syslog daemon (FreeBSD in this case)...

      Add to /etc/syslog.conf a line that says all errors from the httpd process are to go to a file called (for example) /var/log/httpd-php.log

      !httpd
      *.*   {tab}   /var/log/httpd-php.log

      Note the tab, being a tab character! Next create a blank file to be written to. I'm sure there are 1e+6 ways to do this, but I choose

      # cat > httpd-php.log << EOF
      EOF

      Finally find your syslog daemon and send it a sighup to inform it of the change:

      # ps ax | grep syslogd
        133  ??  Ss     0:07.23 syslogd -s
      # kill -1 133

      Et voila! Php syslog calls will now arrive in /var/log/httpd-php.log
      mavetju at chello dot nl 22-Jan-2001 06:11
      With FreeBSD I can use: syslog(LOG_INFO,"test");

      BSD/OS does not support this, I had to use the literal values for the priority (158: local3.info):
      syslog(158,"test");
      gherson at snet dot net 20-Dec-2000 01:09
      Example of where to look for syslog's output:   /var/log/httpd/access_log
      (on Red Hat Linux Secure Server v6.2).
      rcgraves+php at brandeis dot edu 17-Feb-2000 12:51
      For the-header-file-enabled:

      man 3 syslog defines the priorities, but not the integer values. For that you'll need to read your system header file.

      Let's suppose I want to log an informational message in the mail log (which happens to be true). The man page tells me I want LOG_MAIL|LOG_INFO. So I look in /usr/include/sys/syslog.h and find (this happens to be Linux, your system could be different):

      #define LOG_INFO        6       /* informational */
      #define LOG_MAIL        (2<<3)  /* mail system */

      2<<3 means shift 3 bits left, which means multiply by 8. So I want 2*8 + 6 = 22. syslog(22,"this message will appear in the mail log"); And indeed it does.
      bb at lb-data dot co dot at 08-Sep-1999 03:54
      In Windows NT, use the following values of priority:
      1 = error,
      6 = info

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多