import BaseDefine from '../base/define'; import BaseSupport from "../base/support"; import BaseFunc from "../base/func"; import { IbaseFaceObject } from "../aim/face"; import OperateData from "../operate/data"; const logInfo: IbaseFaceObject = { "9801": "日志格式为:9+级别编号+2位分类标识+3位流水号", "9802": "级别编号:0:EMERGENCY,1:ALERT,2:CRITICAL,3:ERROR,4:WARNING,5:NOTICE,6:INFO,7:DEBUG", "9803": "系统级别日志", "970312001": "环境配置:", "970312002": "出现异常信息:[]", "9810": '同步相关', "9710101": '开始同步', "9310102": '同步阿里云时出现异常:[]', "9410103": '同步阿里云时,返回非200状态:[]', "9610104": '初始化同步操作逻辑', "9410105": '同步时检测状态标记为[status],跳过同步操作,距离[deep]秒', "9310106": '同步表单数据出现异常:[]', "9610107": '同步表单数据,上行[upload]条,时间戳[utime],下行[download]条,时间戳[dtime]', "9811": '文件相关', "9811101": '本地文件路径[]', "9812": '事件相关', "9712001": '监听一个事件[]', "9712002": '触发一个事件名称:[eventName],内容:[eventInfo]', } export default class { static logDebug(iLogCode: number, oLogParam?: IbaseFaceObject | string) { this._save('debug', iLogCode, oLogParam); } static logInfo(iLogCode: number, oLogParam?: IbaseFaceObject | string) { this._save('info', iLogCode, oLogParam); } static logWarn(iLogCode: number, oLogParam?: IbaseFaceObject | string) { this._save('warn', iLogCode, oLogParam); } static logError(iLogCode: number, oLogParam?: IbaseFaceObject | string) { this._save('error', iLogCode, oLogParam); } /** * 保存日志内容 * * @static * @param {string} sLogType * @param {number} iLogCode * @param {*} oLogInfo */ static _save(sLogType: string, iLogCode: number, oLogInfo: any) { let sStr = logInfo[iLogCode]; if (sStr === undefined) { console.warn('not find logcode ' + iLogCode.toString()); sStr = '[]'; } let sLogInfo = ''; if (iLogCode < 1) { sLogInfo = oLogInfo; } if (sStr.indexOf('[') > -1) { if (sStr.indexOf('[]') > -1) { sLogInfo = sStr.replace('[]', JSON.stringify(oLogInfo)); } else { sLogInfo = BaseFunc.replaceWithObject(sStr, oLogInfo); } } else { sLogInfo = sStr; } let sLogConsole = BaseSupport.upDate() + ' ' + sLogType + ' ' + iLogCode.toString() + ' ' + sLogInfo; if (sLogType === "warn" || sLogType === "error") { console.warn(sLogConsole); } else { console.log(sLogConsole); } let sLogCode = BaseSupport.upUuid(); let oLogSave = { zzzkey: sLogCode, dateTime: BaseSupport.upDate(), logType: sLogType, logCode: iLogCode.toString(), logInfo: sLogInfo } OperateData.logInfo.inValue(sLogCode, [oLogSave]); } static upLogInfo(sFilter) { return OperateData.logInfo.rootReadItemsByFilter(sFilter).sorted('dateTime', true); } }