Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Symfony2在Symfony和csv文件中添加查询日志记录_Mysql_Logging_Mysql Workbench_Symfony 2.8 - Fatal编程技术网

Mysql Symfony2在Symfony和csv文件中添加查询日志记录

Mysql Symfony2在Symfony和csv文件中添加查询日志记录,mysql,logging,mysql-workbench,symfony-2.8,Mysql,Logging,Mysql Workbench,Symfony 2.8,我需要在Symfony和csv文件中添加查询日志记录。有时数据库可能很忙或不可用,但我想记录所有查询 此日志应为csv格式,包含以下列: -网址 -数据源名称 -SQL内容 -参数 -用户名 -查询执行精度的开始时间(毫秒) -查询执行精度的结束时间(毫秒) 有什么帮助吗?我怎么做?或者可以为此做些什么 可能是自定义函数,在该函数中,我可以使用当前登录用户信息以及url和执行查询以访问特定url的时间创建csv文件 在Symfony中,如果您有一个公共SQL函数,该函数在每个 然后执行查询,这对

我需要在Symfony和csv文件中添加查询日志记录。有时数据库可能很忙或不可用,但我想记录所有查询

此日志应为csv格式,包含以下列:

-网址

-数据源名称

-SQL内容

-参数

-用户名

-查询执行精度的开始时间(毫秒)

-查询执行精度的结束时间(毫秒)

有什么帮助吗?我怎么做?或者可以为此做些什么

可能是自定义函数,在该函数中,我可以使用当前登录用户信息以及url和执行查询以访问特定url的时间创建csv文件

在Symfony中,如果您有一个公共SQL函数,该函数在每个 然后执行查询,这对您很有帮助

这就是我在我的案例中实现的东西。希望这能对你有所帮助

public function execute($parameters = null)
{
if ($this->executed) {
return $this;
}
$executionStartTime = microtime(true);

$stmt = $this->execute($parameters);
$this->result = $stmt->fetchAll();
// Close cursor to allow query caching.
$stmt->closeCursor();
$this->executed = true;;

$executionEndTime = microtime(true);

//below code is added to logging for SQL queries to web server in csv format
$execution_time = $executionEndTime - $executionStartTime;
$getpageParameter = $parameters;
$getusername = $this->getUser()->getUsername();
$url = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

$parms = json_encode($getpageParameter);

$data = array(
date ("Y-m-d H:i:s")."|".$url."|".$getusername."|".$parms."|".$executionStartTime."|".$executionEndTime,
);

if(!file_exists('/../../app/logs/querylog.csv')){
$column = array(
"DATE & TIME|URL|USERNAME|PARAMETERS|START TIME|END TIME"
);
$fp = fopen('/../../app/logs/querylog.csv', 'a+');
foreach ( $column as $line ) {
$val = explode("|", $line);
fputcsv($fp, $val);
}
fclose($fp);
}

$fp = fopen('/../../app/logs/querylog.csv', 'a+');
foreach ( $data as $line ) {
$val = explode("|", $line);
fputcsv($fp, $val);
}
fclose($fp);

return $this;
}