Finishing merge on v4 branch.
This commit is contained in:
parent
3f9b289499
commit
2584717ae8
15 changed files with 96 additions and 111 deletions
|
@ -111,8 +111,6 @@ export class GuaribasInstance extends Model<GuaribasInstance> implements IGBInst
|
||||||
@Column ui: string;
|
@Column ui: string;
|
||||||
|
|
||||||
@Column kb: string;
|
@Column kb: string;
|
||||||
|
|
||||||
@Column(DataType.STRING(512)) nlpServerUrl: string;
|
|
||||||
|
|
||||||
@Column
|
@Column
|
||||||
nlpAppId: string;
|
nlpAppId: string;
|
||||||
|
|
|
@ -85,7 +85,7 @@ export class GBConfigService {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
logger.trace(
|
logger.info(
|
||||||
`Guaribas General Error: Invalid key on .env file: '${key}'`
|
`Guaribas General Error: Invalid key on .env file: '${key}'`
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -85,14 +85,14 @@ export class GBConversationalService implements IGBConversationalService {
|
||||||
res.entities && res.entities.length > 0
|
res.entities && res.entities.length > 0
|
||||||
? res.entities[0].entity.toUpperCase()
|
? res.entities[0].entity.toUpperCase()
|
||||||
: null;
|
: null;
|
||||||
logger.trace(
|
logger.info(
|
||||||
"luis: intent: [" + intent + "] entity: [" + entity + "]"
|
"luis: intent: [" + intent + "] entity: [" + entity + "]"
|
||||||
);
|
);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
dc.replace("/" + intent);
|
dc.replace("/" + intent);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.trace("error: intent: [" + intent + "] error: [" + error + "]");
|
logger.info("error: intent: [" + intent + "] error: [" + error + "]");
|
||||||
|
|
||||||
dc.context.sendActivity("Desculpe-me, não encontrei nada a respeito...");
|
dc.context.sendActivity("Desculpe-me, não encontrei nada a respeito...");
|
||||||
dc.replace("/ask", { isReturning: true });
|
dc.replace("/ask", { isReturning: true });
|
||||||
|
|
|
@ -87,7 +87,7 @@ export class GBCoreService implements IGBCoreService {
|
||||||
}
|
}
|
||||||
|
|
||||||
let logging = (GBConfigService.get("DATABASE_LOGGING") === "true")
|
let logging = (GBConfigService.get("DATABASE_LOGGING") === "true")
|
||||||
? (str: string) => { logger.trace(str); }
|
? (str: string) => { logger.info(str); }
|
||||||
: false;
|
: false;
|
||||||
|
|
||||||
let encrypt = (GBConfigService.get("DATABASE_ENCRYPT") === "true");
|
let encrypt = (GBConfigService.get("DATABASE_ENCRYPT") === "true");
|
||||||
|
@ -196,16 +196,16 @@ export class GBCoreService implements IGBCoreService {
|
||||||
if (GBConfigService.get("DATABASE_SYNC") === "true") {
|
if (GBConfigService.get("DATABASE_SYNC") === "true") {
|
||||||
const alter = (GBConfigService.get("DATABASE_SYNC_ALTER") === "true");
|
const alter = (GBConfigService.get("DATABASE_SYNC_ALTER") === "true");
|
||||||
const force = (GBConfigService.get("DATABASE_SYNC_FORCE") === "true");
|
const force = (GBConfigService.get("DATABASE_SYNC_FORCE") === "true");
|
||||||
logger.trace("Syncing database...");
|
logger.info("Syncing database...");
|
||||||
this.sequelize.sync({
|
this.sequelize.sync({
|
||||||
alter: alter,
|
alter: alter,
|
||||||
force: force
|
force: force
|
||||||
}).then(value => {
|
}).then(value => {
|
||||||
logger.trace("Database synced.");
|
logger.info("Database synced.");
|
||||||
cb();
|
cb();
|
||||||
}, err => logger.error(err));
|
}, err => logger.error(err));
|
||||||
} else {
|
} else {
|
||||||
logger.trace("Database synchronization is disabled.");
|
logger.info("Database synchronization is disabled.");
|
||||||
cb();
|
cb();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -229,7 +229,7 @@ export class GBCoreService implements IGBCoreService {
|
||||||
if (reason.message.indexOf("no such table: GuaribasInstance") != -1) {
|
if (reason.message.indexOf("no such table: GuaribasInstance") != -1) {
|
||||||
cb([], null);
|
cb([], null);
|
||||||
} else {
|
} else {
|
||||||
logger.trace(`GuaribasServiceError: ${reason}`);
|
logger.info(`GuaribasServiceError: ${reason}`);
|
||||||
cb(null, reason);
|
cb(null, reason);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -255,7 +255,7 @@ export class GBCoreService implements IGBCoreService {
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
cb(null, err);
|
cb(null, err);
|
||||||
logger.trace(`GuaribasServiceError: ${err}`);
|
logger.info(`GuaribasServiceError: ${err}`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,7 +79,7 @@ export class GBDeployer {
|
||||||
localPath,
|
localPath,
|
||||||
(data, err) => {
|
(data, err) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
logger.trace(err);
|
logger.info(err);
|
||||||
} else {
|
} else {
|
||||||
cb(data, null);
|
cb(data, null);
|
||||||
}
|
}
|
||||||
|
@ -216,8 +216,8 @@ export class GBDeployer {
|
||||||
this.deployPackageFromLocalPath(
|
this.deployPackageFromLocalPath(
|
||||||
UrlJoin(deployFolder, bootPackage),
|
UrlJoin(deployFolder, bootPackage),
|
||||||
(data, err) => {
|
(data, err) => {
|
||||||
logger.trace(`Boot package deployed: ${bootPackage}`);
|
logger.info(`Boot package deployed: ${bootPackage}`);
|
||||||
if (err) logger.trace(err);
|
if (err) logger.info(err);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,7 +99,7 @@ export class GBImporter {
|
||||||
|
|
||||||
// PACKAGE: security.json loading
|
// PACKAGE: security.json loading
|
||||||
let service = new SecService();
|
let service = new SecService();
|
||||||
service.importSecurityFile(localPath, instance);
|
// TODO: service.importSecurityFile(localPath, instance);
|
||||||
|
|
||||||
cb(instance, null);
|
cb(instance, null);
|
||||||
});
|
});
|
||||||
|
|
|
@ -203,7 +203,7 @@ export class GBMinService {
|
||||||
e.sysPackages = new Array<IGBPackage>();
|
e.sysPackages = new Array<IGBPackage>();
|
||||||
[GBAdminPackage, GBAnalyticsPackage, GBCorePackage, GBSecurityPackage,
|
[GBAdminPackage, GBAnalyticsPackage, GBCorePackage, GBSecurityPackage,
|
||||||
GBKBPackage, GBCustomerSatisfactionPackage, GBWhatsappPackage].forEach(sysPackage => {
|
GBKBPackage, GBCustomerSatisfactionPackage, GBWhatsappPackage].forEach(sysPackage => {
|
||||||
logger.trace(`Loading sys package: ${sysPackage.name}...`);
|
logger.info(`Loading sys package: ${sysPackage.name}...`);
|
||||||
let p = Object.create(sysPackage.prototype) as IGBPackage;
|
let p = Object.create(sysPackage.prototype) as IGBPackage;
|
||||||
p.loadBot(min);
|
p.loadBot(min);
|
||||||
e.sysPackages.push(p);
|
e.sysPackages.push(p);
|
||||||
|
@ -226,7 +226,7 @@ export class GBMinService {
|
||||||
// Serves individual URL for each bot conversational interface...
|
// Serves individual URL for each bot conversational interface...
|
||||||
|
|
||||||
let url = `/api/messages/${instance.botId}`;
|
let url = `/api/messages/${instance.botId}`;
|
||||||
logger.trace(
|
logger.info(
|
||||||
`GeneralBots(${instance.engineName}) listening on: ${url}.`
|
`GeneralBots(${instance.engineName}) listening on: ${url}.`
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -293,7 +293,7 @@ export class GBMinService {
|
||||||
e.onNewSession(min, dc);
|
e.onNewSession(min, dc);
|
||||||
});
|
});
|
||||||
|
|
||||||
logger.trace(
|
logger.info(
|
||||||
`[RCV]: ChannelID: ${context.activity.channelId}, ConversationID: ${context.activity.conversation.id}
|
`[RCV]: ChannelID: ${context.activity.channelId}, ConversationID: ${context.activity.conversation.id}
|
||||||
Type: ${context.activity.type}, Name: ${context.activity.name}, Text: ${context.activity.text}.`
|
Type: ${context.activity.type}, Name: ${context.activity.name}, Text: ${context.activity.text}.`
|
||||||
);
|
);
|
||||||
|
@ -308,11 +308,11 @@ export class GBMinService {
|
||||||
uiUrl,
|
uiUrl,
|
||||||
express.static(UrlJoin(this.deployFolder, uiPackage, "build"))
|
express.static(UrlJoin(this.deployFolder, uiPackage, "build"))
|
||||||
);
|
);
|
||||||
logger.trace(`Bot UI ${uiPackage} acessible at: ${uiUrl}.`);
|
logger.info(`Bot UI ${uiPackage} acessible at: ${uiUrl}.`);
|
||||||
|
|
||||||
// Setups handlers.
|
// Setups handlers.
|
||||||
// send: function (context.activity, next) {
|
// send: function (context.activity, next) {
|
||||||
// logger.trace(
|
// logger.info(
|
||||||
// `[SND]: ChannelID: ${context.activity.address.channelId}, ConversationID: ${context.activity.address.conversation},
|
// `[SND]: ChannelID: ${context.activity.address.channelId}, ConversationID: ${context.activity.address.conversation},
|
||||||
// Type: ${context.activity.type} `);
|
// Type: ${context.activity.type} `);
|
||||||
// this.core.createMessage(
|
// this.core.createMessage(
|
||||||
|
@ -320,7 +320,7 @@ export class GBMinService {
|
||||||
// this.min.conversation.startedBy,
|
// this.min.conversation.startedBy,
|
||||||
// context.activity.source,
|
// context.activity.source,
|
||||||
// (data, err) => {
|
// (data, err) => {
|
||||||
// logger.trace(context.activity.source);
|
// logger.info(context.activity.source);
|
||||||
// }
|
// }
|
||||||
// );
|
// );
|
||||||
// next();
|
// next();
|
||||||
|
@ -356,7 +356,7 @@ export class GBMinService {
|
||||||
let dirs = getDirectories(path);
|
let dirs = getDirectories(path);
|
||||||
dirs.forEach(element => {
|
dirs.forEach(element => {
|
||||||
if (element.startsWith('.')) {
|
if (element.startsWith('.')) {
|
||||||
logger.trace(`Ignoring ${element}...`);
|
logger.info(`Ignoring ${element}...`);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (element.endsWith('.gbot')) {
|
if (element.endsWith('.gbot')) {
|
||||||
|
@ -373,9 +373,9 @@ export class GBMinService {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.trace(`Starting looking for generalPackages...`);
|
logger.info(`Starting looking for generalPackages...`);
|
||||||
paths.forEach(e => {
|
paths.forEach(e => {
|
||||||
logger.trace(`Looking in: ${e}...`);
|
logger.info(`Looking in: ${e}...`);
|
||||||
doIt(e);
|
doIt(e);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -385,17 +385,17 @@ export class GBMinService {
|
||||||
let appPackagesProcessed = 0;
|
let appPackagesProcessed = 0;
|
||||||
|
|
||||||
gbappPackages.forEach(e => {
|
gbappPackages.forEach(e => {
|
||||||
logger.trace(`Deploying app: ${e}...`);
|
logger.info(`Deploying app: ${e}...`);
|
||||||
// Skips .gbapp inside deploy folder.
|
// Skips .gbapp inside deploy folder.
|
||||||
if (!e.startsWith('deploy')) {
|
if (!e.startsWith('deploy')) {
|
||||||
import(e).then(m => {
|
import(e).then(m => {
|
||||||
let p = new m.Package();
|
let p = new m.Package();
|
||||||
p.loadPackage(core, core.sequelize);
|
p.loadPackage(core, core.sequelize);
|
||||||
appPackages.push(p);
|
appPackages.push(p);
|
||||||
logger.trace(`App (.gbapp) deployed: ${e}.`);
|
logger.info(`App (.gbapp) deployed: ${e}.`);
|
||||||
appPackagesProcessed++;
|
appPackagesProcessed++;
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
logger.trace(`Error deploying App (.gbapp): ${e}: ${err}`);
|
logger.info(`Error deploying App (.gbapp): ${e}: ${err}`);
|
||||||
appPackagesProcessed++;
|
appPackagesProcessed++;
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
@ -408,20 +408,20 @@ export class GBMinService {
|
||||||
.interval(1000)
|
.interval(1000)
|
||||||
.times(10)
|
.times(10)
|
||||||
.condition(function (cb) {
|
.condition(function (cb) {
|
||||||
logger.trace(`Waiting for app package deployment...`);
|
logger.info(`Waiting for app package deployment...`);
|
||||||
cb(appPackagesProcessed == gbappPackages.length);
|
cb(appPackagesProcessed == gbappPackages.length);
|
||||||
})
|
})
|
||||||
.done(function (result) {
|
.done(function (result) {
|
||||||
logger.trace(`App Package deployment done.`);
|
logger.info(`App Package deployment done.`);
|
||||||
|
|
||||||
core.syncDatabaseStructure(cb => {
|
core.syncDatabaseStructure(cb => {
|
||||||
|
|
||||||
/** Deploys all .gbot files first. */
|
/** Deploys all .gbot files first. */
|
||||||
|
|
||||||
botPackages.forEach(e => {
|
botPackages.forEach(e => {
|
||||||
logger.trace(`Deploying bot: ${e}...`);
|
logger.info(`Deploying bot: ${e}...`);
|
||||||
_this_.deployer.deployBot(e, (data, err) => {
|
_this_.deployer.deployBot(e, (data, err) => {
|
||||||
logger.trace(`Bot: ${e} deployed...`);
|
logger.info(`Bot: ${e} deployed...`);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -432,7 +432,7 @@ export class GBMinService {
|
||||||
generalPackages.forEach(filename => {
|
generalPackages.forEach(filename => {
|
||||||
|
|
||||||
let filenameOnly = Path.basename(filename);
|
let filenameOnly = Path.basename(filename);
|
||||||
logger.trace(`Deploying package: ${filename}...`);
|
logger.info(`Deploying package: ${filename}...`);
|
||||||
|
|
||||||
/** Handles apps for general bots - .gbapp must stay out of deploy folder. */
|
/** Handles apps for general bots - .gbapp must stay out of deploy folder. */
|
||||||
|
|
||||||
|
@ -443,7 +443,7 @@ export class GBMinService {
|
||||||
|
|
||||||
} else if (Path.extname(filename) === ".gbtheme") {
|
} else if (Path.extname(filename) === ".gbtheme") {
|
||||||
server.use("/themes/" + filenameOnly, express.static(filename));
|
server.use("/themes/" + filenameOnly, express.static(filename));
|
||||||
logger.trace(`Theme (.gbtheme) assets accessible at: ${"/themes/" + filenameOnly}.`);
|
logger.info(`Theme (.gbtheme) assets accessible at: ${"/themes/" + filenameOnly}.`);
|
||||||
|
|
||||||
|
|
||||||
/** Knowledge base for bots. */
|
/** Knowledge base for bots. */
|
||||||
|
@ -453,7 +453,7 @@ export class GBMinService {
|
||||||
"/kb/" + filenameOnly + "/subjects",
|
"/kb/" + filenameOnly + "/subjects",
|
||||||
express.static(UrlJoin(filename, "subjects"))
|
express.static(UrlJoin(filename, "subjects"))
|
||||||
);
|
);
|
||||||
logger.trace(`KB (.gbkb) assets acessible at: ${"/kb/" + filenameOnly}.`);
|
logger.info(`KB (.gbkb) assets acessible at: ${"/kb/" + filenameOnly}.`);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (Path.extname(filename) === ".gbui" || filename.endsWith(".git")) {
|
else if (Path.extname(filename) === ".gbui" || filename.endsWith(".git")) {
|
||||||
|
@ -473,7 +473,7 @@ export class GBMinService {
|
||||||
.interval(1000)
|
.interval(1000)
|
||||||
.times(5)
|
.times(5)
|
||||||
.condition(function (cb) {
|
.condition(function (cb) {
|
||||||
logger.trace(`Waiting for package deployment...`);
|
logger.info(`Waiting for package deployment...`);
|
||||||
cb(totalPackages == (generalPackages.length));
|
cb(totalPackages == (generalPackages.length));
|
||||||
})
|
})
|
||||||
.done(function (result) {
|
.done(function (result) {
|
||||||
|
@ -481,7 +481,7 @@ export class GBMinService {
|
||||||
logger.info(`The bot server is running empty: No bot instances have been found, at least one .gbot file must be deployed.`);
|
logger.info(`The bot server is running empty: No bot instances have been found, at least one .gbot file must be deployed.`);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
logger.trace(`Package deployment done.`);
|
logger.info(`Package deployment done.`);
|
||||||
}
|
}
|
||||||
resolve();
|
resolve();
|
||||||
});
|
});
|
||||||
|
|
|
@ -75,7 +75,7 @@ export class QualityDialog extends IGBDialog {
|
||||||
user.lastQuestion,
|
user.lastQuestion,
|
||||||
user.lastQuestionId,
|
user.lastQuestionId,
|
||||||
(data, err) => {
|
(data, err) => {
|
||||||
logger.trace("QuestionAlternate inserted.");
|
logger.info("QuestionAlternate inserted.");
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -84,7 +84,7 @@ export class AskDialog extends IGBDialog {
|
||||||
// async (data, err) => {
|
// async (data, err) => {
|
||||||
// var data = res.text;
|
// var data = res.text;
|
||||||
// if (data != text) {
|
// if (data != text) {
|
||||||
// logger.trace("Spelled Text: " + data);
|
// logger.info("Spelled Text: " + data);
|
||||||
// text = data;
|
// text = data;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
|
@ -353,7 +353,7 @@ export class KBService {
|
||||||
cb([], null);
|
cb([], null);
|
||||||
} else {
|
} else {
|
||||||
cb(null, reason);
|
cb(null, reason);
|
||||||
logger.trace(`GuaribasServiceError: ${reason}`);
|
logger.info(`GuaribasServiceError: ${reason}`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -394,7 +394,7 @@ export class KBService {
|
||||||
answer = Fs.readFileSync(mediaFilename, "utf8");
|
answer = Fs.readFileSync(mediaFilename, "utf8");
|
||||||
format = ".md";
|
format = ".md";
|
||||||
} else {
|
} else {
|
||||||
logger.trace("[GBImporter] File not found: ", mediaFilename);
|
logger.info("[GBImporter] File not found: ", mediaFilename);
|
||||||
answer =
|
answer =
|
||||||
"Por favor, contate a administração para rever esta pergunta.";
|
"Por favor, contate a administração para rever esta pergunta.";
|
||||||
}
|
}
|
||||||
|
@ -524,16 +524,16 @@ export class KBService {
|
||||||
packageId,
|
packageId,
|
||||||
(data, err) => {
|
(data, err) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
logger.trace(err);
|
logger.info(err);
|
||||||
} else {
|
} else {
|
||||||
logger.trace("Import KB done.");
|
logger.info("Import KB done.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
function (err) {
|
function (err) {
|
||||||
if (err) logger.trace(err);
|
if (err) logger.info(err);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -602,7 +602,7 @@ export class KBService {
|
||||||
deployKb(core: IGBCoreService, deployer: GBDeployer, localPath: string, cb: GBServiceCallback<any>) {
|
deployKb(core: IGBCoreService, deployer: GBDeployer, localPath: string, cb: GBServiceCallback<any>) {
|
||||||
let packageType = Path.extname(localPath);
|
let packageType = Path.extname(localPath);
|
||||||
let packageName = Path.basename(localPath);
|
let packageName = Path.basename(localPath);
|
||||||
logger.trace("[GBDeployer] Opening package: ", packageName);
|
logger.info("[GBDeployer] Opening package: ", packageName);
|
||||||
let packageObject = JSON.parse(
|
let packageObject = JSON.parse(
|
||||||
Fs.readFileSync(UrlJoin(localPath, "package.json"), "utf8")
|
Fs.readFileSync(UrlJoin(localPath, "package.json"), "utf8")
|
||||||
);
|
);
|
||||||
|
|
|
@ -203,8 +203,8 @@ export class WhatsappDirectLine extends GBService {
|
||||||
if (activities && activities.length) {
|
if (activities && activities.length) {
|
||||||
|
|
||||||
// Ignore own messages.
|
// Ignore own messages.
|
||||||
// TODO: this.botId instead of "general-bot-9672a8d3"
|
// TODO: this.botId instead of "general-bot-9672a8d3"
|
||||||
activities = activities.filter((m) => { return (m.from.id === "GeneralBot-Netshoes") && m.type === "message" });
|
activities = activities.filter((m) => { return (m.from.id === "GeneralBots") && m.type === "message" });
|
||||||
|
|
||||||
if (activities.length) {
|
if (activities.length) {
|
||||||
|
|
||||||
|
|
44
package.json
44
package.json
|
@ -38,37 +38,37 @@
|
||||||
"botbuilder-choices": "^4.0.0-preview1.2",
|
"botbuilder-choices": "^4.0.0-preview1.2",
|
||||||
"botbuilder-dialogs": "^4.0.0-preview1.2",
|
"botbuilder-dialogs": "^4.0.0-preview1.2",
|
||||||
"botbuilder-prompts": "^4.0.0-preview1.2",
|
"botbuilder-prompts": "^4.0.0-preview1.2",
|
||||||
"botlib": "^0.0.28",
|
"botlib": "^0.0.33",
|
||||||
"chokidar": "^2.0.3",
|
"chokidar": "^2.0.4",
|
||||||
"csv-parse": "^2.4.0",
|
"csv-parse": "^3.0.0",
|
||||||
"dotenv-extended": "^2.0.2",
|
"dotenv-extended": "^2.2.0",
|
||||||
"express": "^4.16.2",
|
"express": "^4.16.3",
|
||||||
"fs-extra": "^6.0.1",
|
"fs-extra": "^7.0.0",
|
||||||
"fs-walk": "^0.0.2",
|
"fs-walk": "^0.0.2",
|
||||||
"marked": "^0.3.12",
|
"marked": "^0.5.0",
|
||||||
"pragmatismo-io-framework": "^1.0.14",
|
"pragmatismo-io-framework": "^1.0.15",
|
||||||
"reflect-metadata": "^0.1.12",
|
"reflect-metadata": "^0.1.12",
|
||||||
"request-promise-native": "^1.0.5",
|
"request-promise-native": "^1.0.5",
|
||||||
"sequelize": "^4.37.10",
|
"sequelize": "^4.38.0",
|
||||||
"sequelize-typescript": "^0.6.3",
|
"sequelize-typescript": "^0.6.6",
|
||||||
"sqlite3": "^4.0.0",
|
"sqlite3": "^4.0.2",
|
||||||
"swagger-client": "^2.1.18",
|
"swagger-client": "^3.8.15",
|
||||||
"tedious": "^2.1.1",
|
"tedious": "^2.6.4",
|
||||||
"url-join": "^4.0.0",
|
"url-join": "^4.0.0",
|
||||||
"wait-until": "^0.0.2",
|
"wait-until": "^0.0.2",
|
||||||
"winston": "^2.4.2"
|
"winston": "^3.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/chai": "^4.1.3",
|
"@types/chai": "^4.1.4",
|
||||||
"@types/mocha": "^5.2.0",
|
"@types/mocha": "^5.2.5",
|
||||||
"@types/sequelize": "^4.27.20",
|
"@types/sequelize": "^4.27.25",
|
||||||
"@types/url-join": "^0.8.2",
|
"@types/url-join": "^0.8.2",
|
||||||
"@types/winston": "^2.3.9",
|
"@types/winston": "^2.4.4",
|
||||||
"chai": "^4.1.2",
|
"chai": "^4.1.2",
|
||||||
"mocha": "^5.2.0",
|
"mocha": "^5.2.0",
|
||||||
"mocha-typescript": "^1.1.14",
|
"mocha-typescript": "^1.1.17",
|
||||||
"ts-node": "^6.0.5",
|
"ts-node": "^7.0.1",
|
||||||
"typedoc": "^0.11.1",
|
"typedoc": "^0.12.0",
|
||||||
"typescript": "^2.8.3"
|
"typescript": "^3.0.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,7 +99,7 @@ export class GBServer {
|
||||||
|
|
||||||
[GBAdminPackage, GBAnalyticsPackage, GBCorePackage, GBSecurityPackage,
|
[GBAdminPackage, GBAnalyticsPackage, GBCorePackage, GBSecurityPackage,
|
||||||
GBKBPackage, GBCustomerSatisfactionPackage, GBWhatsappPackage].forEach(e => {
|
GBKBPackage, GBCustomerSatisfactionPackage, GBWhatsappPackage].forEach(e => {
|
||||||
logger.trace(`Loading sys package: ${e.name}...`);
|
logger.info(`Loading sys package: ${e.name}...`);
|
||||||
let p = Object.create(e.prototype) as IGBPackage;
|
let p = Object.create(e.prototype) as IGBPackage;
|
||||||
p.loadPackage(core, core.sequelize);
|
p.loadPackage(core, core.sequelize);
|
||||||
});
|
});
|
||||||
|
|
|
@ -30,55 +30,43 @@
|
||||||
| |
|
| |
|
||||||
\*****************************************************************************/
|
\*****************************************************************************/
|
||||||
|
|
||||||
var winston = require('winston');
|
const { createLogger, format, transports } = require('winston');
|
||||||
|
|
||||||
var logger = new (winston.Logger)({
|
const config = {
|
||||||
levels: {
|
levels: {
|
||||||
trace: 0,
|
error: 0,
|
||||||
input: 1,
|
debug: 1,
|
||||||
verbose: 2,
|
warn: 2,
|
||||||
prompt: 3,
|
data: 3,
|
||||||
debug: 4,
|
info: 4,
|
||||||
info: 5,
|
verbose: 5,
|
||||||
data: 6,
|
silly: 6,
|
||||||
help: 7,
|
custom: 7
|
||||||
warn: 8,
|
|
||||||
error: 9
|
|
||||||
},
|
},
|
||||||
colors: {
|
colors: {
|
||||||
trace: 'magenta',
|
error: 'red',
|
||||||
input: 'grey',
|
|
||||||
verbose: 'cyan',
|
|
||||||
prompt: 'grey',
|
|
||||||
debug: 'blue',
|
debug: 'blue',
|
||||||
info: 'green',
|
|
||||||
data: 'grey',
|
|
||||||
help: 'cyan',
|
|
||||||
warn: 'yellow',
|
warn: 'yellow',
|
||||||
error: 'red'
|
data: 'grey',
|
||||||
|
info: 'green',
|
||||||
|
verbose: 'cyan',
|
||||||
|
silly: 'magenta',
|
||||||
|
custom: 'yellow'
|
||||||
}
|
}
|
||||||
});
|
};
|
||||||
|
|
||||||
logger.add(winston.transports.Console, {
|
const logger = createLogger({
|
||||||
label: 'General Bot Server',
|
format: format.combine(
|
||||||
level: 'error',
|
format.colorize(),
|
||||||
prettyPrint: true,
|
format.simple(),
|
||||||
colorize: true,
|
format.label({ label: 'GeneralBots' }),
|
||||||
silent: false,
|
format.timestamp(),
|
||||||
timestamp: false
|
format.printf(nfo => {
|
||||||
});
|
return `${nfo.timestamp} [${nfo.label}] ${nfo.level}: ${nfo.message}`;
|
||||||
|
})
|
||||||
logger.add(winston.transports.File, {
|
),
|
||||||
label: 'General Bot Server',
|
levels: config.levels,
|
||||||
prettyPrint: true,
|
transports: [new transports.Console()]
|
||||||
level: 'error',
|
|
||||||
silent: false,
|
|
||||||
colorize: false,
|
|
||||||
timestamp: true,
|
|
||||||
filename: './gbtrace.log',
|
|
||||||
maxsize: 999999999,
|
|
||||||
maxFiles: 1,
|
|
||||||
json: false
|
|
||||||
});
|
});
|
||||||
|
|
||||||
module.exports=logger;
|
module.exports=logger;
|
|
@ -5,7 +5,6 @@
|
||||||
"declaration": false,
|
"declaration": false,
|
||||||
"emitDecoratorMetadata": true,
|
"emitDecoratorMetadata": true,
|
||||||
"experimentalDecorators": true,
|
"experimentalDecorators": true,
|
||||||
"keyofStringsOnly": true,
|
|
||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"mapRoot": "./dist/",
|
"mapRoot": "./dist/",
|
||||||
"module": "commonjs",
|
"module": "commonjs",
|
||||||
|
|
Loading…
Add table
Reference in a new issue