deprecopilot
Version:
Automated dependency management with AI-powered codemods
43 lines (42 loc) • 904 B
JavaScript
// Centralized logger with verbosity control
import fs from 'fs';
let verbose = false;
let silent = false;
let jsonMode = false;
let logFile = null;
function write(msg) {
if (logFile) {
fs.appendFileSync(logFile, msg + '\n');
}
else {
process.stdout.write(msg + '\n');
}
}
export const logger = {
setVerbosity(opts) {
verbose = !!opts.verbose;
silent = !!opts.silent;
jsonMode = !!opts.json;
},
setLogFile(path) {
logFile = path;
},
info(msg) {
if (silent || jsonMode)
return;
write(msg);
},
debug(msg) {
if (!verbose || silent || jsonMode)
return;
write('[debug] ' + msg);
},
error(msg) {
if (logFile) {
write('[error] ' + msg);
}
if (!silent) {
process.stderr.write(msg + '\n');
}
}
};