52 行
1.3 KiB
JavaScript
52 行
1.3 KiB
JavaScript
|
|
const log = require('electron-log');
|
||
|
|
const { app } = require('electron');
|
||
|
|
const path = require('path');
|
||
|
|
const fs = require('fs');
|
||
|
|
|
||
|
|
class Logger {
|
||
|
|
constructor() {
|
||
|
|
this.initializeLogger();
|
||
|
|
}
|
||
|
|
|
||
|
|
initializeLogger() {
|
||
|
|
log.transports.file.resolvePath = () => {
|
||
|
|
const logsPath = path.join(app.getPath('userData'), 'logs');
|
||
|
|
if (!fs.existsSync(logsPath)) {
|
||
|
|
fs.mkdirSync(logsPath, { recursive: true });
|
||
|
|
}
|
||
|
|
return path.join(logsPath, 'app.log');
|
||
|
|
};
|
||
|
|
|
||
|
|
if (process.env.NODE_ENV === 'development') {
|
||
|
|
log.transports.console.level = 'info';
|
||
|
|
} else {
|
||
|
|
log.transports.console.level = false;
|
||
|
|
}
|
||
|
|
|
||
|
|
log.transports.file.level = 'info';
|
||
|
|
log.transports.file.maxSize = 10 * 1024 * 1024;
|
||
|
|
log.transports.file.format = '[{y}-{m}-{d} {h}:{i}:{s}.{ms}] [{level}] {text}';
|
||
|
|
|
||
|
|
this.logger = log;
|
||
|
|
this.info('Logger initialized');
|
||
|
|
}
|
||
|
|
|
||
|
|
info(message, ...args) {
|
||
|
|
this.logger.info(message, ...args);
|
||
|
|
}
|
||
|
|
|
||
|
|
warn(message, ...args) {
|
||
|
|
this.logger.warn(message, ...args);
|
||
|
|
}
|
||
|
|
|
||
|
|
error(message, ...args) {
|
||
|
|
this.logger.error(message, ...args);
|
||
|
|
}
|
||
|
|
|
||
|
|
debug(message, ...args) {
|
||
|
|
this.logger.debug(message, ...args);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
module.exports = Logger;
|