This sample shows how I created a function to handle syslog in existing scripts.
<?php
//This script MUST be called from an existing script using something
//like: require ('syslog.php');
//This code has had very limited testing. As I am a newbie I'm sure others
//could clean this up alot.
//It is working with scripts I have taken from hotscripts.com, so I hope it will
//help you.
//To use this script you must create a table in your database called logs
//Here is the sql I used in phpMyAdmin to create the table:
//CREATE TABLE `logs` (`DT` DATETIME NOT NULL ,`priority` INT NOT NULL ,`message` VARCHAR( 255 ) NOT NULL ,INDEX ( `DT` , `priority` ));
function syslog($priority,$message){
$db_user = 'root'; //Database user name
$db_password = ''; //Database password
$db_name = 'test'; //Database name
$db = @mysql_connect("localhost",$db_user,$db_password) or die("Couldn't Connect to SQL");
$db = @mysql_select_db($db_name, $db);
//LOG_DEBUG and the rest were taken from the PHP documentation searching for syslog
switch ($priority) {
case 'LOG_DEBUG':
$sql = "INSERT INTO `logs` ( `DT` , `priority` , `message` ) VALUES ( NOW( ) , '0', '$message');";
mysql_query($sql);
mysql_close();
break;
case 'LOG_INFO':
$sql = "INSERT INTO `logs` ( `DT` , `priority` , `message` ) VALUES ( NOW( ) , '1', '$message');";
mysql_query($sql);
mysql_close();
break;
case 'LOG_NOTICE':
$sql = "INSERT INTO `logs` ( `DT` , `priority` , `message` ) VALUES ( NOW( ) , '2', '$message');";
mysql_query($sql);
mysql_close();
break;
case 'LOG_WARNING':
$sql = "INSERT INTO `logs` ( `DT` , `priority` , `message` ) VALUES ( NOW( ) , '3', '$message');";
mysql_query($sql);
mysql_close();
break;
case 'LOG_ERR':
$sql = "INSERT INTO `logs` ( `DT` , `priority` , `message` ) VALUES ( NOW( ) , '4', '$message');";
mysql_query($sql);
mysql_close();
break;
case 'LOG_CRIT':
$sql = "INSERT INTO `logs` ( `DT` , `priority` , `message` ) VALUES ( NOW( ) , '5', '$message');";
mysql_query($sql);
mysql_close();
break;
case 'LOG_ALERT':
$sql = "INSERT INTO `logs` ( `DT` , `priority` , `message` ) VALUES ( NOW( ) , '6', '$message');";
mysql_query($sql);
mysql_close();
break;
case 'LOG_EMERG':
$sql = "INSERT INTO `logs` ( `DT` , `priority` , `message` ) VALUES ( NOW( ) , '7', '$message');";
mysql_query($sql);
mysql_close();
break;
} //end switch
} //end function syslog
?>
© 2009 Novell, Inc. All Rights Reserved.