Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

PHP Network syslog() Function



The PHP Network syslog() function is used to send messages to the system log. It creates log records, which the system can track. The function takes two fundamental inputs: a priority level and a message. The priority level shows the system how important the message is, with values like LOG_ERR for errors and LOG_INFO for general information. The message is the text you want to log. The syslog function is useful for logging key events or errors that occur within your application.

It supports PHP versions 4, 5, 7, and 8. This function always returns true, so it will not fail. To use custom log handlers on Unix systems, you may need to edit the configuration files.

Syntax

Below is the syntax of the PHP Network syslog() function −

true syslog ( int $priority, string $message )

Parameters

Here are the parameters of the syslog() function −

  • $priority (int) - (Required) This defines the priority of the log message. It uses predefined constants like:

    • LOG_EMERG - Emergency messages (most urgent)
    • LOG_ALERT - Alerts
    • LOG_CRIT - Critical conditions
    • LOG_ERR - Errors
    • LOG_WARNING - Warnings
    • LOG_NOTICE - Normal but significant conditions
    • LOG_INFO - Informational messages
    • LOG_DEBUG - Debugging messages (least important)
  • $message (string) - (Required) This is the actual message you want to log. It can be any text you want to record.

Return Value

The syslog() function returns true, indicating that the log message was properly generated, regardless of its priority or content.

PHP Version

First introduced in core PHP 4, the syslog() function continues to function easily in PHP 5, PHP 7, and PHP 8.

Example 1

Here is the basic example of the PHP Network syslog() function to log a simple error message with the help of the LOG_ERR priority. The function syslog() is used here to send a log with a defined priority and message.

<?php
   // Log an error message with a low priority
   syslog(LOG_ERR, "This is an error message.");
?>

Output

Here is the outcome of the following code −

Jan 24 14:22:15 tutorialspoint php: This is an error message.

Example 2

In the below PHP code we will use the syslog() function. This example shows messages recorded at multiple priority levels, from LOG_EMERG (emergency) to LOG_DEBUG (debugging). It gives a real-world logging system in which different sorts of messages are logged depending on the severity of the incident or issue.

<?php
   // Log different levels of messages 
   syslog(LOG_EMERG, "System is down! Immediate action required.");
   syslog(LOG_ALERT, "Service is unavailable. Attention needed!");
   syslog(LOG_NOTICE, "System running normally.");
   syslog(LOG_DEBUG, "Debugging: Variable X value is 10.");
?> 

Output

This will generate the below output −

Jan 24 15:35:15 tutorialspoint php: System is down! Immediate action required.
Jan 24 15:35:16 tutorialspoint php: Service is unavailable. Attention needed!
Jan 24 15:35:17 tutorialspoint php: System running normally.
Jan 24 15:35:18 tutorialspoint php: Debugging: Variable X value is 10.
php_function_reference.htm
Advertisements