bowling-analysis-system
Version:
A comprehensive system for analyzing bowling techniques using video processing and metrics calculation
72 lines (65 loc) • 1.62 kB
JavaScript
/**
* @module bowling_analysis/utils/MetricsLogger
* @description Centralized logging utility for metrics processing
*/
const { defaultLogger } = require('../../utils/logger');
class MetricsLogger {
/**
* Create a new MetricsLogger
* @param {string} component - Component name for logging
*/
constructor(component) {
this.logger = defaultLogger.child(component);
}
/**
* Log debug message
* @param {string} message - Message to log
* @param {Object} [data] - Optional data to include
*/
debug(message, data = null) {
if (data) {
this.logger.debug(message, data);
} else {
this.logger.debug(message);
}
}
/**
* Log info message
* @param {string} message - Message to log
* @param {Object} [data] - Optional data to include
*/
info(message, data = null) {
if (data) {
this.logger.info(message, data);
} else {
this.logger.info(message);
}
}
/**
* Log warning message
* @param {string} message - Message to log
* @param {Object} [data] - Optional data to include
*/
warn(message, data = null) {
if (data) {
this.logger.warn(message, data);
} else {
this.logger.warn(message);
}
}
/**
* Log error message
* @param {string} message - Message to log
* @param {Object} [data] - Optional data to include
*/
error(message, data = null) {
if (data) {
this.logger.error(message, data);
} else {
this.logger.error(message);
}
}
}
module.exports = {
MetricsLogger
};