yourlogger
v0.0.6
Published
A simple logger package for browser and runtime environments.
Downloads
22
Maintainers
Readme
YourLogger
YourLogger es una librería simple y configurable para registrar logs tanto en el navegador como en entornos de ejecución (Node.js). Incluye soporte para colores, manejo de stack traces
, timestamps, y detección automática del entorno (navegador o runtime).
Características
- Soporte para colores en los logs (tanto en Node.js como en el navegador).
- Opción para incluir el stack trace en los logs.
- Opción para incluir timestamps en los logs.
- Patrón Singleton para garantizar una única instancia de logger.
- Detección automática del entorno (
runtime
obrowser
). - Métodos específicos para distintos niveles de log:
log
,info
,warn
, yerror
.
Instalación
Instala el paquete usando npm o yarn:
npm
npm install yourlogger
yarn
yarn add yourlogger
Uso básico
Para empezar a usar YourLogger
, importa la clase y crea una nueva instancia con la configuración deseada.
import Logger from 'yourlogger';
// Crear una instancia de Logger
const logger = new Logger({
withStackTrace: true, // Mostrar stack trace en los logs
withTimestamp: true, // Incluir timestamps en los logs
enableColors: true, // Habilitar colores en los logs
});
// Registrar un mensaje de log
logger.log('Este es un mensaje de log.');
// Registrar un mensaje de información
logger.info('Este es un mensaje informativo.');
// Registrar una advertencia
logger.warn('Este es un mensaje de advertencia.');
// Registrar un error
logger.error('Este es un mensaje de error.');
Navegador CDN UMD o ES Module
Si deseas usar YourLogger
en un navegador, puedes importar el script UMD o el módulo ES directamente desde jsDelivr.
UMD
<script src="https://cdn.jsdelivr.net/npm/yourlogger/dist/yourlogger.umd.min.js"></script>
<script>
const logger = new YourLogger.Logger();
logger.log('Mensaje de log en el navegador.');
</script>
ES Module
<script type="module">
import { Logger } from 'https://cdn.jsdelivr.net/npm/yourlogger/dist/yourlogger.es.min.js';
const logger = new Logger();
logger.log('Mensaje de log en el navegador.');
</script>
Configuración
Cuando creas una instancia de Logger
, puedes configurar las siguientes opciones:
| Opción | Tipo | Descripción | Valor por defecto |
|------------------|----------|-------------------------------------------------------------------|-------------------|
| withStackTrace
| boolean
| Habilita o deshabilita la inclusión del stack trace en los logs | true
|
| withTimestamp
| boolean
| Habilita o deshabilita la inclusión de un timestamp en los logs | true
|
| colors
| Colors
| Configura los colores para runtime
y browser
| (Ver abajo) |
| enableColors
| boolean
| Habilita o deshabilita los colores en los logs | true
|
Ejemplo de Configuración de Colores
Puedes personalizar los colores que se usan en los logs tanto para el entorno de ejecución (Node.js) como para el navegador:
const logger = new Logger({
colors: {
runtime: {
reset: "\x1b[0m",
error: "\x1b[31m", // Rojo
warn: "\x1b[33m", // Amarillo
info: "\x1b[94m", // Azul claro
log: "\x1b[32m", // Verde
},
browser: {
reset: "",
error: "color: red",
warn: "color: yellow",
info: "color: #1E90FF;",
log: "color: green",
},
},
});
Métodos
log(message: any): void
Registra un mensaje estándar en la consola. El formato incluye el timestamp, el tipo de log (LOG
), y opcionalmente el stack trace.
logger.log('Este es un mensaje de log.');
info(message: any): void
Registra un mensaje de información en la consola. Utiliza el prefijo INFO
.
logger.info('Este es un mensaje de información.');
warn(message: any): void
Registra una advertencia en la consola. Utiliza el prefijo WARN
.
logger.warn('Este es una advertencia.');
error(message: any): void
Registra un mensaje de error en la consola. Utiliza el prefijo ERROR
y muestra el stack trace completo.
logger.error('Este es un mensaje de error.');
Detección del entorno
YourLogger
detecta automáticamente si se está ejecutando en un entorno de navegador o en Node.js. Esto te permite usar la misma instancia de Logger
tanto en el cliente como en el servidor sin configuraciones adicionales.
Método relevante:
detectEnvironment()
: Devuelvebrowser
si se está ejecutando en el navegador oruntime
si es Node.js.
const environment = logger.detectEnvironment(); // 'browser' o 'runtime'
Ejemplos avanzados
Mostrar Stack Trace solo en Node.js
const logger = new Logger({
withStackTrace: process.env.NODE_ENV !== 'production', // Mostrar stack trace solo en desarrollo
});
logger.log('Mensaje con stack trace en Node.js');
Desactivar colores en producción
const logger = new Logger({
enableColors: process.env.NODE_ENV !== 'production', // Colores solo en desarrollo
});
logger.error('Este es un error sin colores en producción.');
Desarrollo
Si deseas desarrollar o modificar yourlogger
, puedes seguir estos pasos:
Clona el repositorio:
git clone https://github.com/usuario/yourlogger.git cd yourlogger
Instala las dependencias:
npm install
Ejecuta el modo de desarrollo:
npm run dev
Genera la build de producción:
npm run build
Contribuyendo
Si deseas contribuir a este proyecto, sigue estos pasos:
- Haz un fork del proyecto.
- Crea una rama para tu feature (
git checkout -b feature/nueva-feature
). - Haz commit de tus cambios (
git commit -am 'Agrega nueva feature'
). - Haz push a la rama (
git push origin feature/nueva-feature
). - Abre un Pull Request.
Licencia
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más información.