[🇬🇧] Read in English
Um pacote de logs flexível e extensível em TypeScript, baseado na arquitetura hexagonal, com suporte a múltiplos adaptadores de saída, incluindo console e arquivos.
- Múltiplos níveis de log:
verbose,info,warn,error - Nível mínimo de log configurável
- API simples e limpa
- Suporte a TypeScript
- Arquitetura hexagonal para fácil extensibilidade
npm install @ericshantos/logger import { Logger } from '@ericshantos/logger';
const logger = new Logger('info'); // 'info' é o nível padrão
logger.verbose('Mensagem detalhada'); // Não será exibida se o nível for 'info'
logger.info('Mensagem informativa');
logger.warn('Aviso importante');
logger.error('Erro crítico'); Você pode definir o nível mínimo de log ao criar o logger:
const loggerDetalhado = new Logger('verbose'); // Registra todos os níveis
const loggerApenasErros = new Logger('error'); // Registra apenas erros O pacote segue os princípios da arquitetura hexagonal, facilitando a criação de adaptadores personalizados. Implemente a interface LoggerContract para criar suas próprias soluções de log.
import type { LoggerContract, LogLevel } from '@ericshantos/logger';
class MeuLoggerPersonalizado implements LoggerContract {
// Implemente os métodos necessários
} new Logger(nivel?: LogLevel = 'info') verbose(mensagem: string): voidinfo(mensagem: string): voidwarn(mensagem: string): voiderror(mensagem: string): void
LogLevel:'verbose' | 'info' | 'warn' | 'error'LoggerContract: Interface que todas as implementações de logger devem seguir
npm run build ├── src
│ ├── core
│ │ ├── contracts # Interfaces e tipos principais
│ │ └── logger.service.ts # Implementação principal do logger
│ └── index.ts # Exportações públicas da API Este projeto está licenciado sob a licença MIT - consulte o arquivo LICENSE para mais detalhes.
Contribuições são bem-vindas! Abra uma issue ou envie um pull request.