
Security News
Open Source CAI Framework Handles Pen Testing Tasks up to 3,600× Faster Than Humans
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.
white-logger
Advanced tools
A very simple nodejs and browser logger with only one dependency.
white-logger is now released in statable version 1.0.0
And there is a BREAKING CHANGE, please see this document for details.
npm i white-logger
import { nodelogger as logger } from "white-logger/node";
logger.normal("normal-level", "normal reported.");
logger.info("info here", "something reported.", {
hello: "world",
});
logger.warn("notice", "something warnning.", ["foo", "baz"]);
logger.err("oops!", "something error!");
You will get like this in your console.
By default, white-logger will automatically tracks all calls and print them. Easy to find out the problem, right?
And white-logger can also automatically output logs to a file. If you want to do this, please configure some setting like this.
import { nodelogger as logger, configLogger } from "white-logger/node";
import path from "path";
// By setting the logPath option, white-logger will write the log to files automatically.
configLogger({
logPath: path.resolve(process.cwd(), "logs"),
});
// Will be written to <project_root>/logs/<timestamp>_info.log
logger.info("some-info", "something reported.");
Depending on the level, the logs will be written to different files.
logger.normal
will write to <timestamp>_normal.log
logger.info
will write to <timestamp>_info.log
logger.warn
will write to <timestamp>_warn.log
logger.err
will write to <timestamp>_err.log
Timestamp will change from day to day. So, the logs are output to a different file each day.
You can also only pass a relative path, white-logger will resolve it to your project root directory automatically.
configNodeLogger({
// Same as above, logs will write to <project_root_dir>/logs
logPath: "logs",
});
If you config a file output, you will get something like this.
If you don't want auto-tracking to fill up your entire console, you can also turn it off when in development mode.
configNodeLogger({
// This will only work on development mode.
// In production mode, The trace is forced to be output.
trace: false,
});
const { nodelogger } = require("white-logger/node");
nodelogger.normal("normal-level", "normal reported.");
You can also import with a name of your choice.
const mylogger = require("white-logger/node").nodelogger;
mylogger.normal("normal-level", "normal reported.");
You can use white-logger in any framework. Like vue or react.
// Please note that the esm module is in esm directory.
import { browserlogger as logger } from "white-logger/esm/browser";
logger.normal("normal-level", "normal reported.");
logger.info("info here", "something reported.", {
hello: "world",
});
logger.warn("notice", "something warnning.", ["foo", "baz"]);
logger.err("oops!", "something error!");
Open your console and you can see the results.
You can use configBrowserLogger
function to configure your browser logger.
import { configBrowserLogger } from "white-logger/esm/browser";
configBrowserLogger({
mode: "production",
targetUrl: undefined,
storagePrefix: undefined,
});
By default, browser logger running in development mode.
targetUrl
or storage
config.
export type NodeLoggerConfig = {
logPath?: string; // full or relative path to your logs directory
logDateFmt: string; // Luxon format string
filenameDateFmt: string; // Luxon format string
trace?: boolean;
};
// default value
let __config__: NodeLoggerConfig = {
logPath: undefined,
logDateFmt: "yyyy'-'LL'-'dd HH':'mm':'ss Z",
filenameDateFmt: "yyyy'-'LL'-'dd",
trace: true,
};
About Luxon format string, please see this Luxon document
logPath
: The path of directory that white-logger will write log to.logDateFmt
: The format of the date being printed to the console.filenameDateFmt
: The format of the date before being inserted into the output file.export type BrowserLoggerConfig = {
mode: "development" | "production"; // browser logger mode
logDateFmt: string; // luxon date format string
targetUrl?: string; // fetch post url
storagePrefix?: string; // localStorage item key prefix
trace?: boolean;
};
// default value
let __config__: BrowserLoggerConfig = {
mode: "development",
logDateFmt: "yyyy'-'LL'-'dd HH':'mm':'ss Z",
targetUrl: undefined,
storagePrefix: undefined,
trace: true
};
About Luxon format string, please see this Luxon document
mode
: browser logger mode. For more information on the differences between the two modes of blogger please see this document.logDateFmt
: The format of the date being printed to the console.targetUrl
: Post url in production mode.storagePrefix
: localStorage prefix in production mode."Any color you want, so long as it is Black."
So, White logger.
FAQs
a very simple browser and node logger with only one dependency
The npm package white-logger receives a total of 4 weekly downloads. As such, white-logger popularity was classified as not popular.
We found that white-logger demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.
Security News
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.
Security News
CVEForecast.org uses machine learning to project a record-breaking surge in vulnerability disclosures in 2025.