digitaltwin-core
Version:
Minimalist framework to collect and handle data in a Digital Twin project
74 lines • 2.41 kB
TypeScript
/**
* Enumeration of available logging levels.
*
* Levels are ordered by severity, with lower numbers being more verbose.
*
* @enum {number}
*/
export declare enum LogLevel {
/** Debug messages - most verbose, includes internal state information */
DEBUG = 0,
/** Informational messages - general application flow */
INFO = 1,
/** Warning messages - potential issues that don't prevent operation */
WARN = 2,
/** Error messages - failures that affect functionality */
ERROR = 3,
/** Silent mode - no logging output */
SILENT = 4
}
/**
* Simple logger class for Digital Twin framework components.
*
* Provides structured logging with component identification and configurable levels.
* Automatically adjusts log level based on environment (silent in tests).
*
* @class Logger
*
* @example
* ```typescript
* const logger = new Logger('MyCollector', LogLevel.DEBUG)
* logger.info('Starting data collection')
* logger.error('Failed to connect', error)
* ```
*/
export declare class Logger {
private readonly componentName;
private readonly level;
/**
* Creates a new logger instance for a component.
*
* @param {string} componentName - Name of the component for log prefixing
* @param {LogLevel} level - Minimum log level to output (defaults based on NODE_ENV)
*/
constructor(componentName: string, level?: LogLevel);
/**
* Logs debug information for development and troubleshooting.
*
* @param {string} message - Debug message
* @param {any} data - Optional additional data to log
*/
debug(message: string, data?: any): void;
/**
* Logs informational messages about normal operation.
*
* @param {string} message - Information message
* @param {any} data - Optional additional data to log
*/
info(message: string, data?: any): void;
/**
* Logs warning messages about potential issues.
*
* @param {string} message - Warning message
* @param {any} data - Optional additional data to log
*/
warn(message: string, data?: any): void;
/**
* Logs error messages about failures and exceptions.
*
* @param {string} message - Error message
* @param {any} error - Optional error object or additional data
*/
error(message: string, error?: any): void;
}
//# sourceMappingURL=logger.d.ts.map