Rebaixa para debug uma serie de logs "heartbeat" que disparavam todo ciclo (a cada 1 minuto) independente de qualquer mudanca real, competindo com os logs de acao/erro que realmente importam: buscas por watermark, contagem de tickets pendentes/monitorados, checagens de comentario ja sincronizado, abertura de conexao GLPI/PostgreSQL, e o resumo de sincronizacao do SN (que a margem de seguranca de 6h do watermark sempre retorna nao-vazio, mesmo sem mudanca real de campo). Corrige tambem um bug real encontrado em teste: no fluxo GLPI -> SN, todo comentario historico de um ticket era sanitizado e checado contra a API do SN a cada ciclo antes mesmo de verificar se ja tinha sido sincronizado (ticket_updates.destiny_id). Em tickets com historico longo isso significava dezenas de chamadas desnecessarias por minuto. Agora a checagem local (barata) roda primeiro, e so sanitiza/consulta o SN quando o comentario realmente ainda nao foi sincronizado. Corrige tambem o log de configuracao do pool PostgreSQL, que imprimia "[object Object]" por passar o objeto de config como mensagem em vez de metadado. LOG_LEVEL default muda de debug para info em .env.example e .env.production, unica forma do rebaixamento acima ter efeito pratico. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
30 lines
907 B
JavaScript
30 lines
907 B
JavaScript
// src/data/database.js
|
|
// Configuração da conexão com o banco de dados PostgreSQL
|
|
const { Pool } = require('pg');
|
|
const { logInfo, logError, logDebug } = require('../utils/logger');
|
|
|
|
const poolConfig = {
|
|
host: process.env.SNGLPI_DB_HOST ,
|
|
port: process.env.SNGLPI_DB_PORT || 5432,
|
|
database: process.env.SNGLPI_DB_NAME,
|
|
user: process.env.SNGLPI_DB_USER,
|
|
password: process.env.SNGLPI_DB_PASSWORD
|
|
};
|
|
|
|
const pool = new Pool(poolConfig);
|
|
|
|
// Log da configuração do pool para depuração (sem a senha)
|
|
const sanitizedConfig = { ...poolConfig, password: '*****' };
|
|
logInfo('Configuração do Pool PostgreSQL (Banco Intermediário)', sanitizedConfig);
|
|
|
|
// testa a conexao
|
|
pool.on('connect', () => {
|
|
logDebug('Conectado ao PostgreSQL');
|
|
});
|
|
|
|
pool.on('error', (err) => {
|
|
logError('Erro de conexão PostgreSQL:', err);
|
|
});
|
|
|
|
//exporta o pool para ser usado em outros arquivos
|
|
module.exports = pool;
|