添加 kit 子目录
This commit is contained in:
+101
@@ -0,0 +1,101 @@
|
||||
const config = require('./config')
|
||||
const Context = require("./context")
|
||||
const log4js = require("log4js");
|
||||
// const layout = log4js.layouts.patternLayout('%m')
|
||||
if ( ! global.$inited ) {
|
||||
init()
|
||||
} else {
|
||||
// 不再初始化
|
||||
}
|
||||
|
||||
|
||||
function init(){
|
||||
global.$inited = true
|
||||
|
||||
const package = require("../package.json")
|
||||
global.$version = package.version
|
||||
|
||||
// 上下文模块
|
||||
global.$context = new Context();
|
||||
|
||||
// 载入日志
|
||||
const log4js = require('log4js');
|
||||
log4js.configure({
|
||||
appenders: {
|
||||
console: { type: 'stdout' , level: "info", layout: {
|
||||
type: "pattern",
|
||||
pattern: "%m",
|
||||
},},
|
||||
},
|
||||
categories: {
|
||||
default: { appenders: ['console'], level: 'debug' },
|
||||
}
|
||||
});
|
||||
global.$logger = log4js.getLogger();
|
||||
|
||||
|
||||
// 载入配置
|
||||
global.$sConfig = config.SystemConfig
|
||||
// 重载版本号
|
||||
try {
|
||||
global.$version = fs.readFileSync($sConfig.getLocalKitPath() + "/version", "UTF-8")
|
||||
}catch ( e ) {}
|
||||
|
||||
let logPath = global.$sConfig.getLogPath();
|
||||
global.$context.standalone("uConfig", function (){
|
||||
return new config.UserConfig( $sConfig.getUserConfigFilePath() )
|
||||
})
|
||||
log4js.addLayout('customLayout', function(config) {
|
||||
return function(logEvent) {
|
||||
const now = new Date(logEvent.startTime)
|
||||
let time = now.toLocaleTimeString();
|
||||
time += "." + now.getMilliseconds().toString().padStart(3, '0');
|
||||
const level = "" + logEvent.level;
|
||||
const categoryName = logEvent.categoryName;
|
||||
const message = logEvent.data[0];
|
||||
if ( message && message.startsWith && message.startsWith("\r") ) {
|
||||
return message;
|
||||
}
|
||||
|
||||
let logMessage = `${time} ${level} - ${message}`;
|
||||
|
||||
// Add color to log message based on log level
|
||||
switch (level) {
|
||||
case 'INFO':
|
||||
logMessage = `\x1b[32m${logMessage}\x1b[0m`; // Green color for INFO log level
|
||||
break;
|
||||
case 'WARN':
|
||||
logMessage = `\x1b[33m${logMessage}\x1b[0m`; // Yellow color for WARN log level
|
||||
break;
|
||||
case 'ERROR':
|
||||
logMessage = `\x1b[31m${logMessage}\x1b[0m`; // Red color for ERROR log level
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return logMessage;
|
||||
};
|
||||
});
|
||||
// 重置日志配置
|
||||
log4js.configure({
|
||||
appenders: {
|
||||
console: { type: 'console' , level: "info", layout: {
|
||||
type: 'customLayout'
|
||||
}},
|
||||
file: { type: 'dateFile', filename: logPath + '/kit.log', "pattern": "yyyy-MM-dd", "compress": true , alwaysIncludePattern : true, keepFileExt : true, numBackups : 7}
|
||||
},
|
||||
categories: {
|
||||
default: { appenders: ['console', 'file'], level: 'debug' },
|
||||
}
|
||||
});
|
||||
|
||||
// 注册:远程仓库
|
||||
global.$context.standalone("remote", async function (){
|
||||
const Remote = require("./remote")
|
||||
const remote = new Remote();
|
||||
await remote.init()
|
||||
return remote
|
||||
})
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user