UNPKG

shadowsocks-manager

Version:

A shadowsocks manager tool for multi user and traffic control.

66 lines (54 loc) 1.41 kB
"use strict"; const fs = require('fs'); const os = require('os'); const path = require('path'); const ssmgrPath = path.resolve(os.homedir() + '/.ssmgr'); const logPath = path.resolve(os.homedir() + '/.ssmgr/logs'); const log4js = require('log4js'); const category = ['system', 'account', 'email', 'telegram', 'freeAccount', 'webgui', 'alipay', 'express', 'flowSaver', 'paypal', 'giftcard', 'autoban']; log4js.configure({ appenders: [{ type: 'console', category }] }); const setConsoleLevel = level => { log4js.configure({ appenders: [{ type: 'logLevelFilter', level, category, appender: { type: 'console' } }] }); }; const setFileAppenders = filename => { try { fs.statSync(ssmgrPath); } catch (err) { fs.mkdirSync(ssmgrPath); } try { fs.statSync(logPath); } catch (err) { fs.mkdirSync(logPath); } try { fs.statSync(path.resolve(logPath, filename)); } catch (err) { fs.mkdirSync(path.resolve(logPath, filename)); } log4js.loadAppender('dateFile'); category.forEach(ctg => { log4js.addAppender(log4js.appenderMakers['dateFile']({ type: 'dateFile', filename: path.resolve(logPath, filename + '/' + ctg + '.log'), pattern: '-yyyy-MM-dd', compress: true }), ctg); }); }; exports.setConsoleLevel = setConsoleLevel; exports.setFileAppenders = setFileAppenders;