criado eLog
This commit is contained in:
parent
7e06927ca6
commit
5bfc913d65
8 changed files with 326 additions and 3 deletions
|
|
@ -204,6 +204,101 @@ declare const defineDayjsBr: ({ dayjs, duration, isSameOrAfter, isSameOrBefore,
|
|||
|
||||
declare const link_paiol = "https://paiol.idz.one";
|
||||
|
||||
/** Níveis de severidade para o sistema de log estruturado. */
|
||||
declare enum NivelLog {
|
||||
/** O mais baixo nível, ideal para rastreamento detalhado de fluxo e execução. */
|
||||
RASTREAMENTO = "RASTREAMENTO",
|
||||
/** Usado para informações que ajudam a entender o estado do sistema durante a execução. */
|
||||
DEPURACAO = "DEPURACAO",
|
||||
/** Informações gerais e eventos do sistema. */
|
||||
INFORMACAO = "INFORMACAO",
|
||||
/** Eventos inesperados, mas que não impedem o funcionamento do sistema. */
|
||||
AVISO = "AVISO",
|
||||
/** Erros que impactam o funcionamento do sistema, mas que podem ser recuperados. */
|
||||
ERRO = "ERRO",
|
||||
/** O nível mais alto de severidade, indicando falhas que requerem atenção imediata. */
|
||||
CRITICO = "CRITICO"
|
||||
}
|
||||
type DetalheNivel = {
|
||||
peso: number;
|
||||
rotulo: string;
|
||||
emoji: string;
|
||||
metodo: "debug" | "info" | "warn" | "error";
|
||||
};
|
||||
/** Detalhes de cada nível de log — peso para filtragem, emoji e método do console. */
|
||||
declare const NivelLogDetalhes: Record<NivelLog, DetalheNivel>;
|
||||
/** Estrutura de uma entrada de log emitida pelo sistema. */
|
||||
type EntradaLog = {
|
||||
timestamp: string;
|
||||
nivel: keyof typeof NivelLog;
|
||||
/** Identificador da aplicação/instância (ex: "front:e-licencie:12345"). */
|
||||
app: string;
|
||||
/** Local no código de onde o log foi emitido (ex: "criarUsuario()"). */
|
||||
origem: string;
|
||||
mensagem: string;
|
||||
dados?: unknown;
|
||||
};
|
||||
/** Interface pública do logger retornado por `iniciarELog`. */
|
||||
type ELogger = {
|
||||
rastreamento: (pr: {
|
||||
origem: string;
|
||||
mensagem: string;
|
||||
dados?: unknown;
|
||||
}) => void;
|
||||
depuracao: (pr: {
|
||||
origem: string;
|
||||
mensagem: string;
|
||||
dados?: unknown;
|
||||
}) => void;
|
||||
info: (pr: {
|
||||
origem: string;
|
||||
mensagem: string;
|
||||
dados?: unknown;
|
||||
}) => void;
|
||||
aviso: (pr: {
|
||||
origem: string;
|
||||
mensagem: string;
|
||||
dados?: unknown;
|
||||
}) => void;
|
||||
erro: (pr: {
|
||||
origem: string;
|
||||
mensagem: string;
|
||||
dados?: unknown;
|
||||
}) => void;
|
||||
critico: (pr: {
|
||||
origem: string;
|
||||
mensagem: string;
|
||||
dados?: unknown;
|
||||
}) => void;
|
||||
};
|
||||
/** Opções de configuração do logger, disponíveis no callback de arquivamento. */
|
||||
type OpoesELogger = {
|
||||
app: string;
|
||||
nivelMinimo: keyof typeof NivelLog;
|
||||
};
|
||||
/** Tipo do callback de arquivamento de logs. */
|
||||
type ArquivamentoLog = (entrada: EntradaLog, opcoes: OpoesELogger) => void;
|
||||
/**
|
||||
* Inicializa o sistema de log estruturado.
|
||||
*
|
||||
* @param opcoes.app - Identificador da aplicação/instância (ex: `"front:e-licencie:12345"`)
|
||||
* @param opcoes.nivelMinimo - Nível mínimo para exibição no console (padrão: INFORMACAO)
|
||||
* @param opcoes.arquivamento - Callback opcional para persistir/enviar as entradas de log
|
||||
*
|
||||
* @example
|
||||
* ```ts
|
||||
* const log = iniciarELog({ app: "front:e-licencie:12345" })
|
||||
*
|
||||
* log.info({ origem: "criarUsuario()", mensagem: "Usuário criado", dados: { id: "abc-123" } })
|
||||
* // → ℹ️ [Informação] [front:e-licencie:12345] [criarUsuario()] Usuário criado
|
||||
* ```
|
||||
*/
|
||||
declare const iniciarELog: (opcoes: {
|
||||
app: string;
|
||||
nivelMinimo?: keyof typeof NivelLog;
|
||||
arquivamento?: ArquivamentoLog;
|
||||
}) => ELogger;
|
||||
|
||||
type tiposArquivo = "imagem" | "documento" | "vídeo" | "outros";
|
||||
declare const extensoes: {
|
||||
ext: string;
|
||||
|
|
@ -597,4 +692,4 @@ declare const zNumero: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>;
|
|||
declare const zNumeroPositivo: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>;
|
||||
declare const zNumeroInteiro: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>;
|
||||
|
||||
export { Produtos, TipagemRotas, type TipoPayloadAuditoria, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, criarFiltroDelta, defineDayjsBr, erUuid, esperar, extensoes, iniciarDayjsBr, iniciarFiltroDelta, type interfaceConsulta, link_paiol, localValor, nomeVariavel, objetoPg, operadorFiltroDeltaDetalhes, operadores, paraObjetoRegistroPg, pgObjeto, siglas_unidades_medida, texto_busca, tipoArquivo, type tipoColunaFiltroDelta, type tipoCondicaoFiltroDelta, type tipoCondicaoFiltroDeltaTipado, type tipoFiltro, type tipoFiltroDelta, type tipoFiltroDeltaColunaTipada, type tipoOperadorFiltroDelta, tipoUsuarioResiduos, tiposSituacoesElicencie, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zColunaFiltroDelta, zCondicaoFiltroDelta, zCoordenadas, zDocCnpj, zDocCpf, zDocumento, zFiltro, zFiltroDelta, zNumero, zNumeroInteiro, zNumeroPositivo, zOperadorFiltroDelta, zOperadores };
|
||||
export { type ArquivamentoLog, type ELogger, type EntradaLog, NivelLog, NivelLogDetalhes, type OpoesELogger, Produtos, TipagemRotas, type TipoPayloadAuditoria, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, criarFiltroDelta, defineDayjsBr, erUuid, esperar, extensoes, iniciarDayjsBr, iniciarELog, iniciarFiltroDelta, type interfaceConsulta, link_paiol, localValor, nomeVariavel, objetoPg, operadorFiltroDeltaDetalhes, operadores, paraObjetoRegistroPg, pgObjeto, siglas_unidades_medida, texto_busca, tipoArquivo, type tipoColunaFiltroDelta, type tipoCondicaoFiltroDelta, type tipoCondicaoFiltroDeltaTipado, type tipoFiltro, type tipoFiltroDelta, type tipoFiltroDeltaColunaTipada, type tipoOperadorFiltroDelta, tipoUsuarioResiduos, tiposSituacoesElicencie, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM, zColunaFiltroDelta, zCondicaoFiltroDelta, zCoordenadas, zDocCnpj, zDocCpf, zDocumento, zFiltro, zFiltroDelta, zNumero, zNumeroInteiro, zNumeroPositivo, zOperadorFiltroDelta, zOperadores };
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue