menu
Fórum Adianti
menu Menu
Dúvidas sobre ativação do LOG DE SQL Boa dia Amigos, Alguém poderia me ajudar a entender como ativar as atualizações na tabela "system_sql_log" ?? Já ativei, em alguns modelos, a trait: "SystemChangeLogTrait" e funciona perfeitamente, só que atualizando somente sua respectiva tabela: "system_change_log". E não consigo identificar se o log de SQLs está funcional ou pelo menos ver seu resultado pratico. Estou testando com ...
PN
Dúvidas sobre ativação do LOG DE SQL  
Boa dia Amigos,

Alguém poderia me ajudar a entender como ativar as atualizações na tabela "system_sql_log" ?? Já ativei, em alguns modelos, a trait: "SystemChangeLogTrait" e funciona perfeitamente, só que atualizando somente sua respectiva tabela: "system_change_log". E não consigo identificar se o log de SQLs está funcional ou pelo menos ver seu resultado pratico.

Estou testando com o banco POSTGRES e utilizo na minha conexão o arquivo de parâmetros postgres.php abaixo, ao invés do postgres.ini:
  1. <?php
  2.     // Parametros de conexão ao banco de dados em postgresql
  3.     $aParamConexao = array();       
  4.     $aParamConexao['host']  =  "localhost";
  5.     $aParamConexao['port']  =  "5432";
  6.     $aParamConexao['name']  =  empresa1'
  7.     $aParamConexao['user']  =  "xxxxxx";
  8.     $aParamConexao['pass']  =  "xxxxxx";
  9.     $aParamConexao['type']  =  "pgsql";
  10.     $aParamConexao['prep']  =  "1";
  11.     $aParamConexao['char']  =  "UTF-8";
  12. <b> $aParamConexao['slog']  =  "SystemSqlLogService";  <<---- UTILIZEI ESTE PARÂMETRO POR SUGESTÕES ENCONTRADAS AQUI NO FÓRUM !!!  </b>
  13.    
  14.     return $aParamConexao;
  15. OBS. Todos os logs estão funcionando certinho, só não consigo ativar este de SQL.
  16. Se alguém souber e puder me dar uma luz de como gerar conteúdo neste log, agradeço muito.
  17. Abs,
  18. Paulo Nobre

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (4)


PN

Salve Amigos,

Depois de algumas análises aqui, consegui identificar o por que do log de SQL não estar funcionando aqui no meu caso. Na classe SystemSqlLogService.class.php tem essa condição:

if ($dbname !== 'postgres' AND (in_array(substr($message,0,6), array('INSERT', 'UPDATE', 'DELETE') ) ) )

Não sei qual o motivo específico desta condição ( $dbname !== 'postgres' ) ??!! mas exatamente ela, evita a gravação quando o .ini é denominado "postgres", que é o meu caso !!! Identificando isso, preferi comenta-la ao invés de ter que trocar por um outro nome em toda a aplicação.

Abs,

Paulo Nobre
GO

Olá Paulo!
Conseguiu descobrir o motivo dessa condição? Passo pelo mesmo problema agora.
PN

Salve Geovani, tudo em paz ?

Vamos lá:

1) Incluir o parametro abaixo no arquivo com os parametros de conexão do seu banco aí, seja ele o .ini ou um .php:

$aParamConexao = array();
$aParamConexao['host'] = "localhost";
$aParamConexao['port'] = "5432";
$aParamConexao['name'] = 'empresa1'
$aParamConexao['user'] = "xxxxxx";
$aParamConexao['pass'] = "xxxxxx";
$aParamConexao['type'] = "pgsql";
$aParamConexao['prep'] = "1";
$aParamConexao['char'] = "UTF-8";
$aParamConexao['slog'] = "SystemSqlLogService";

2) Se vc for optar em deixar o nome "postgres" como sendo o do seu arquivo .ini ou .php, vc vai ter que realmente comentar essa linha:

if ($dbname !== 'postgres' AND (in_array(substr($message,0,6), array('INSERT', 'UPDATE', 'DELETE') ) ) )

no seu arquivo SystemSqlLogService.class.php

3) No meu caso aqui, preferi usar um outro nome para o arquivo de parametros e optei por ser .php ao invés de .ini. Como uso LINUX e sempre vou usar o banco POSTGRESQL, usei um comando do linux para trocar em todo meu projeto o texto 'postgres' por 'empresa1' e desta forma não precisei alterar a classe SystemSqlLogService.class.php.

Destas formas vc vai conseguir registrar o log de slq.

Teste aí e me dê um retorno se deu ok.

Abs,

Paulo



GO

Obrigado paulo!
Forte abraço!