@c15t/logger
v2.1.0
Published
Lightweight, structured logger for c15t packages with custom-handler support and type-safe levels.
Downloads
91,558
Readme
@c15t/logger: Logger for c15t
A lightweight, customizable logging utility for Node.js and TypeScript applications. Designed for use in c15t CLI and backend applications.
Key Features
- Color-coded console output with picocolors
- Configurable log levels (error, warn, info, debug, success)
- Custom log handlers
- Type-safe with TypeScript
- Console redirection functionality
- Lightweight with minimal dependencies
Installation
pnpm add @c15t/loggerDocumentation
For further information, guides, and examples visit the reference documentation.
Quick Start
import { createLogger } from '@c15t/logger';
// Create a logger instance
const logger = createLogger({
level: 'info',
appName: 'my-app',
});
// Log messages at different levels
logger.info('Application started');
logger.debug('Debug information', { userId: 123 });
logger.warn('Warning message');
logger.error('Error occurred', new Error('Something went wrong'));
logger.success('Operation completed successfully');Configuration
LoggerOptions
interface LoggerOptions {
/** Whether logging is disabled */
disabled?: boolean;
/** The minimum log level to publish */
level?: 'error' | 'warn' | 'info' | 'debug';
/** Custom log handler function */
log?: (level: LogLevel, message: string, ...args: unknown[]) => void;
/** Custom application name to display in log messages */
appName?: string;
}Advanced Usage
Custom Log Handler
const logger = createLogger({
level: 'info',
appName: 'my-app',
log: (level, message, ...args) => {
// Send logs to external service
sendToLoggingService({ level, message, args });
},
});Extending the Logger
import { extendLogger } from '@c15t/logger';
const baseLogger = createLogger({ level: 'info' });
const extendedLogger = extendLogger(baseLogger, {
http: (message, ...args) => baseLogger.info(`HTTP: ${message}`, ...args),
database: (message, ...args) => baseLogger.info(`DB: ${message}`, ...args),
});
extendedLogger.http('GET /api/users');
extendedLogger.database('Query executed in 10ms');API Reference
Core Functions
createLogger(options?: LoggerOptions): Logger- Creates a configured logger instancelogger- Default logger instance with standard configurationextendLogger<T>(baseLogger: Logger, extensions: T): ExtendedLogger<T>- Extends a logger with additional methods
Utility Functions
formatArgs(args)- Formats arguments for displayformatMessage(level, message, args, appName)- Formats a log message with app name and styling
Support
- Join our Discord community
- Open an issue on our GitHub repository
- Visit inth.com and use the chat widget
- Contact our support team via email [email protected]
Contributing
- We're open to all community contributions.
- Read our Contribution Guidelines
- Review our Code of Conduct
- Fork the repository
- Create a new branch for your feature
- Submit a pull request
- All contributions, big or small, are welcome and appreciated.
Security
If you believe you have found a security vulnerability in c15t, we encourage you to responsibly disclose this and NOT open a public issue. We will investigate all legitimate reports.
Our preference is that you make use of GitHub's private vulnerability reporting feature to disclose potential security vulnerabilities in our open-source software. To do this, please visit https://github.com/c15t/c15t/security and click the "Report a vulnerability" button.
Security Policy
- Please do not share security vulnerabilities in public forums, issues, or pull requests
- Provide detailed information about the potential vulnerability
- Allow reasonable time for us to address the issue before any public disclosure
- We are committed to addressing security concerns promptly and transparently
License
Built by Inth
