Introduce different log levels

This commit is contained in:
Michael Jackson 2018-08-25 23:49:44 -07:00
parent fe4ccec4e2
commit 82d404a973
4 changed files with 36 additions and 9 deletions

View File

@ -5,6 +5,7 @@ const addDays = require("date-fns/add_days");
const db = require("./utils/data");
const isValidPackageName = require("./utils/isValidPackageName");
const parsePackageURL = require("./utils/parsePackageURL");
const logging = require("./utils/logging");
const CloudflareAPI = require("./CloudflareAPI");
const StatsAPI = require("./StatsAPI");
@ -157,8 +158,8 @@ function ingestLogsForZone(zone, startDate, endDate) {
).then(stream => {
const endFetchTime = Date.now();
console.log(
"info: Fetched logs for %s from %s to %s (%dms)",
logging.info(
"Fetched logs for %s from %s to %s (%dms)",
zone.name,
stringifySeconds(startSeconds),
stringifySeconds(endSeconds),
@ -170,8 +171,8 @@ function ingestLogsForZone(zone, startDate, endDate) {
return processLogs(stream).then(totalEntries => {
const endProcessTime = Date.now();
console.log(
"info: Processed %d log entries for %s (%dms)",
logging.info(
"Processed %d log entries for %s (%dms)",
totalEntries,
zone.name,
endProcessTime - startProcessTime

View File

@ -5,13 +5,16 @@ const tar = require("tar-stream");
const bufferStream = require("./bufferStream");
const agent = require("./registryAgent");
const logging = require("./logging");
function fetchNpmPackage(packageConfig) {
return new Promise((resolve, reject) => {
const tarballURL = packageConfig.dist.tarball;
console.log(
`info: Fetching package for ${packageConfig.name} from ${tarballURL}`
logging.debug(
"Fetching package for %s from %s",
packageConfig.name,
tarballURL
);
const { hostname, pathname } = url.parse(tarballURL);

View File

@ -4,6 +4,7 @@ const https = require("https");
const serverConfig = require("../serverConfig");
const bufferStream = require("./bufferStream");
const agent = require("./registryAgent");
const logging = require("./logging");
function parseJSON(res) {
return bufferStream(res).then(JSON.parse);
@ -18,9 +19,7 @@ function fetchNpmPackageInfo(packageName) {
const infoURL = `${serverConfig.registryURL}/${encodedPackageName}`;
console.log(
`info: Fetching package info for ${packageName} from ${infoURL}`
);
logging.debug("Fetching package info for %s from %s", packageName, infoURL);
const { hostname, pathname } = url.parse(infoURL);
const options = {

24
modules/utils/logging.js Normal file
View File

@ -0,0 +1,24 @@
const log = console.log.bind(console);
function noop() {}
let debug, info, warn;
if (process.env.LOG_LEVEL === "none") {
debug = info = warn = noop;
} else if (process.env.LOG_LEVEL === "debug") {
debug = info = warn = log;
} else if (process.env.LOG_LEVEL === "warn") {
debug = info = noop;
warn = log;
} else {
// default LOG_LEVEL = "info"
debug = noop;
info = warn = log;
}
module.exports = {
debug,
info,
warn
};