PageRenderTime 31ms CodeModel.GetById 6ms app.highlight 10ms RepoModel.GetById 2ms app.codeStats 0ms

/packages/Logger/DBLogger/Managers/DBLogger.class.php

https://bitbucket.org/alexamiryan/stingle
PHP | 45 lines | 40 code | 5 blank | 0 comment | 1 complexity | ba4e0f1e8828cd1dc98909a9035d2e26 MD5 | raw file
 1<?php
 2class DBLogger extends Logger{
 3
 4	const TBL_REQUEST_LOG = 'log_requests';
 5	const TBL_MIXED_LOG = 'log_mixed';
 6
 7	public function log($name, $value){
 8		static::logCustom($name, $value);
 9	}
10	
11	public static function logRequest($instanceName = null){
12		$sql = MySqlDbManager::getQueryObject($instanceName);
13		$qb = new QueryBuilder();
14		$qb->insert(Tbl::get('TBL_REQUEST_LOG'))
15			->values(array(
16							"session_id" => session_id(), 
17							"get" => serialize($_GET), 
18							"post" => serialize($_POST), 
19							"server" => serialize($_SERVER), 
20							"cookies" => serialize($_COOKIE), 
21							"session" => serialize($_SESSION), 
22							"response" => ob_get_contents() 
23						)
24					);
25		$sql->exec($qb->getSQL());
26						
27	}
28	
29	public static function logCustom($name, $value){
30		$remoteIP="";
31		if(isset($_SERVER['REMOTE_ADDR'])){
32			$remoteIP=$_SERVER['REMOTE_ADDR'];
33		}
34		$qb = new QueryBuilder();
35		$qb->insert(Tbl::get('TBL_MIXED_LOG'))
36			->values(array(
37							"session_id" => session_id(), 
38							"name" => $name, 
39							"value" => $value, 
40							"ip" => $remoteIP 
41						)
42					);
43		Reg::get('sql')->exec($qb->getSQL());
44	}
45}