snglpi/src/data/database.js
Rafael Lopes cc17d957c7 PERF: Reduz verbosidade de logs em nivel info no ciclo do cron
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>
2026-07-10 16:00:29 -03:00

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;