Home arrow PHP arrow Page 5 - Error and Exception Handling in PHP

Initializing PHP’s Logging Facility - PHP

Mistakes are inevitable, in life, programming, and application submissions. You can prepare for errors by making sure your application is designed to respond to them. This two-part article explains how PHP handles errors. It is excerpted from chapter 8 of the book Beginning PHP and Oracle: From Novice to Professional, written by W. Jason Gilmore and Bob Bryla (Apress; ISBN: 1590597702).

TABLE OF CONTENTS:
  1. Error and Exception Handling in PHP
  2. Configuration Directives
  3. Displaying Errors to the Browser
  4. Error Logging
  5. Initializing PHP’s Logging Facility
  6. Sending a Message to the Logging Destination
By: Apress Publishing
Rating: starstarstarstarstar / 2
December 31, 2009

print this article
SEARCH DEV SHED

TOOLS YOU CAN USE

advertisement

Thedefine_syslog_variables()function initializes the constants necessary for using theopenlog(),closelog(), andsyslog()functions. Its prototype follows:

void define_syslog_variables(void)

You need to execute this function before using any of the following logging functions.

Opening the Logging Connection

Theopenlog()function opens a connection to the platform’s system logger and sets the stage for the insertion of one or more messages into the system log by designating several parameters that will be used within the log context. Its prototype follows:

int openlog(string ident, int option, int facility)

Several parameters are supported, including the following:

ident: Identifies messages. It is added to the beginning of each entry. Typically this value is
set to the name of the program. Therefore, you might want to identify PHP-related messages such as “PHP” or “PHP5.”

option: Determines which logging options are used when generating the message. A list of available options is offered in Table 8-2. If more than one option is required, separate each option with a vertical bar. For example, you could specify three of the options like so:
LOG_ODELAY | LOG_PERROR| LOG_PID.

facility: Helps determine what category of program is logging the message. There are several categories, includingLOG_KERN,LOG_USER,LOG_MAIL,LOG_DAEMON,LOG_AUTH,LOG_LPR, andLOG_LOCALN,whereN is a value ranging between 0 and 7. Note that the designated facility determines the message destination. For example, designatingLOG_CRONresults in the submission of subsequent messages to thecronlog, whereas designatingLOG_USERresults in the transmission of messages to themessagesfile. Unless PHP is being used as a command-line interpreter, you’ll likely want to set this toLOG_USER. It’s common to useLOG_CRONwhen executing PHP scripts from acrontab.See the syslog documentation for more information about this matter.

Table 8-2. Logging Options  

Option

Description

LOG_CONS

If an error occurs when writing to the syslog, send output to the system console.

LOG_NDELAY

Immediately open the connection to the syslog.

LOG_ODELAY

Do not open the connection until the first message has been submitted for logging. This is the default.

LOG_PERROR

Output the logged message to both the syslog and standard error.

LOG_PID

Accompany each message with the process ID (PID).

Closing the Logging Connection

Thecloselog()function closes the connection opened byopenlog(). Its prototype follows:

int closelog(void)



 
 
>>> More PHP Articles          >>> More By Apress Publishing
 

blog comments powered by Disqus
escort Bursa Bursa escort Antalya eskort
   

PHP ARTICLES

- Hackers Compromise PHP Sites to Launch Attac...
- Red Hat, Zend Form OpenShift PaaS Alliance
- PHP IDE News
- BCD, Zend Extend PHP Partnership
- PHP FAQ Highlight
- PHP Creator Didn't Set Out to Create a Langu...
- PHP Trends Revealed in Zend Study
- PHP: Best Methods for Running Scheduled Jobs
- PHP Array Functions: array_change_key_case
- PHP array_combine Function
- PHP array_chunk Function
- PHP Closures as View Helpers: Lazy-Loading F...
- Using PHP Closures as View Helpers
- PHP File and Operating System Program Execut...
- PHP: Effects of Wrapping Code in Class Const...

Developer Shed Affiliates

 


Dev Shed Tutorial Topics: