Files
mol 263cb5ef03
Some checks failed
continuous-integration/drone/push Build is failing
test
2024-07-06 22:23:31 +08:00

26 lines
902 B
JavaScript

const path = require('path');
const mkdirp = require('mkdirp');
const spdlog = require('bindings')('spdlog');
exports.version = spdlog.version;
exports.setLevel = spdlog.setLevel;
exports.setFlushOn = spdlog.setFlushOn;
exports.Logger = spdlog.Logger;
function createRotatingLogger(name, filepath, maxFileSize, maxFiles) {
return createLogger('rotating', name, filepath, maxFileSize, maxFiles);
}
function createAsyncRotatingLogger(name, filepath, maxFileSize, maxFiles) {
return createLogger('rotating_async', name, filepath, maxFileSize, maxFiles);
}
async function createLogger(loggerType, name, filepath, maxFileSize, maxFiles) {
const dirname = path.dirname(filepath);
await mkdirp(dirname);
return new spdlog.Logger(loggerType, name, filepath, maxFileSize, maxFiles);
}
exports.createRotatingLogger = createRotatingLogger;
exports.createAsyncRotatingLogger = createAsyncRotatingLogger;