Compare commits

..

1 Commits

Author SHA1 Message Date
9a61396db6 Use winston for logging 2021-03-15 09:46:40 -06:00
3 changed files with 17 additions and 8 deletions

View File

@ -59,7 +59,7 @@ async function initSonar() {
} }
` `
); );
logger.info(`Authenticated to Sonar as '${user.me.name}'.`); logger.info(`Authenticated to Sonar as '${user.me.name}'`);
return sonar; return sonar;
} }
@ -88,11 +88,11 @@ async function initRingCentralSDK() {
platform.on(platform.events.refreshError, async (err) => { platform.on(platform.events.refreshError, async (err) => {
logger.error("Refresh token error:", err); logger.error("Refresh token error:", err);
await login(); await login();
logger.info("RingCentral re-authentication successful."); logger.info("RingCentral re-authentication successful");
}); });
await login(); await login();
logger.info("Authenticated to RingCentral."); logger.info("Authenticated to RingCentral");
return sdk; return sdk;
} }
@ -101,7 +101,7 @@ async function initDB() {
const db = knex(knexConfig); const db = knex(knexConfig);
if (!process.env.DB_SKIP_MIGRATIONS) { if (!process.env.DB_SKIP_MIGRATIONS) {
await db.migrate.latest(); await db.migrate.latest();
logger.info("Database migrations run successfully."); logger.info("Database migrations run successfully");
} }
return db; return db;
} }
@ -114,12 +114,13 @@ async function main() {
const rcsdk = await initRingCentralSDK(); const rcsdk = await initRingCentralSDK();
const db = await initDB(); const db = await initDB();
logger.info("Starting ticketizer..."); logger.info("Starting");
const intervals = ticketize(sonar, rcsdk, db, getTicketizeConfig()); const intervals = ticketize(sonar, rcsdk, db, getTicketizeConfig());
["SIGINT", "SIGTERM", "SIGQUIT"].forEach((sig) => { ["SIGINT", "SIGTERM", "SIGQUIT"].forEach((sig) => {
process.on(sig, async () => { process.on(sig, async () => {
logger.info(`\nCaught ${sig}, shutting down...`); logger.info(`Caught ${sig}, shutting down...`);
const results = await Promise.allSettled( const results = await Promise.allSettled(
intervals.map((interval) => interval.clear()) intervals.map((interval) => interval.clear())
); );
@ -130,6 +131,7 @@ async function main() {
logger.error(result.reason); logger.error(result.reason);
} }
}); });
await rcsdk.logout();
process.exit(errors ? 1 : 0); process.exit(errors ? 1 : 0);
}); });
}); });

View File

@ -340,7 +340,7 @@ export function ticketize(
* @param firstRun whether this is the first run * @param firstRun whether this is the first run
*/ */
async function fetchAndStoreNewVoicemails(firstRun = false) { async function fetchAndStoreNewVoicemails(firstRun = false) {
logger.info("Checking for new voicemails"); logger.verbose("Checking for new voicemails");
const extensions = await getValidRCExtensions(); const extensions = await getValidRCExtensions();
return Promise.all( return Promise.all(
extensions.map((extension) => extensions.map((extension) =>

View File

@ -1,10 +1,17 @@
import PhoneNumber from "awesome-phonenumber"; import PhoneNumber from "awesome-phonenumber";
import winston from "winston"; import winston, { format } from "winston";
export const DEBUG = !!process.env.DEBUG; export const DEBUG = !!process.env.DEBUG;
export const logger = winston.createLogger({ export const logger = winston.createLogger({
level: DEBUG ? "debug" : process.env.LOG_LEVEL ?? "info", level: DEBUG ? "debug" : process.env.LOG_LEVEL ?? "info",
transports: [new winston.transports.Console()], transports: [new winston.transports.Console()],
format: format.combine(
format.errors({ stack: true }),
format.printf(
({ level, message, stack }) =>
`${level}: ${message}${stack ? "\n" + stack : ""}`
)
),
}); });
export function getNationalNumber(input: string) { export function getNationalNumber(input: string) {