1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| <?php
require_once(__PATH__.'/../config/db.php');
require_once('SiErreur.php');
class Logger
{
private static $instance;
private static $db;
private static $logRequest;
private function __construct()
{
try
{
self::$db = new PDO( 'mysql:host='.PARAMDB_HOTE_LOGGER.';dbname='.PARAMDB_NOMBD_LOGGER,
PARAMDB_USER_LOGGER, PARAMDB_MDP_LOGGER,
array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_PERSISTENT => true));
// Requête préparée pour insérer chaque ligne de LOG
self::$logRequest = self::$db->prepare(
"INSERT INTO test.LOG (ID_MV, DATE, HEURE, SI_CAT, EVT_TXT)
VALUES (:id_mv, :date, :heure, :si_cat, :evt_txt)");
self::$instance = 1;
}
catch(SiErreur $siE)
{
$siE->ecritErreur();
}
}
public static function singleton() {
if(!isset(self::$instance)) {
$c = __CLASS__;
self::$instance = new $c();
}
return self::$instance;
}
public static function ecritLog($siCat, $evtTxt)
{
try
{
$i = 1/0;
self::$logRequest->execute(array( ':id_mv' => 'LOCALHOST', ':date' => date('Y-m-d'),
':heure' => date('H:i:s'), ':si_cat' => $siCat,
':evt_txt' => $evtTxt));
}
catch(SiErreur $siE)
{
$siE->ecritErreur();
}
}
}
Logger::singleton();
?> |