Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
express-loggin-js
Advanced tools
An express middleware for loggin-js
npm install express-loggin-js --save
// Require the logging library
const logging = require('loggin-js');
// Require the express middleware
const loggingMW = require('express-loggin-js');
To create a loggin-js middleware is as easy as calling the available .logger
function. You can create a default one by calling it without any arguments, additionally it also accepts a set of options defined bellow, here is a usage example:
const app = express();
app.use(logginMW.logger({
color: true,
loggers: [loggin.Loggers.ConsoleLogger]
}));
app.get('/hello', function (req, res) {
// Logger is attached to the response to lert you use it within the routes
res.logger.debug('Logger from within the response!');
res.send({
message: 'Hello world!'
});
});
Options:
logger accepts an object containing some options, it extends options from loggin.Loggers.Options, and adds a couple of custom ones.
interface LoggerOptions = {
/* Loggin'JS Options */
color?: boolean; // Should the logger be colored
lineNumbers?: boolean; // Should the logger output line numbers
level?: number|string|loggin.Severity; // Set the logger level
channel?: string; // Set the channel for the logger, defaults to filename
formatter: string; // Set the logger formatter
/* Custom Options */
loggers: loggin.Loggers.Logger[]; // List of loggers to pack
msg: string|function; // Template or function to get the log message
showRaw: boolean; // Show raw request
ignore(req, res): boolean; // Ignore routes
}
To create an ERROR middleware is also really easy, just call .errorLogger
instead. It accepts the same options as .logger
const app = express();
app.get('/hello', function (req, res) {
// Logger is attached to the response to lert you use it within the routes
res.logger.debug('Logger from within the response!');
res.send({
message: 'Hello world!'
});
});
// Notice it's placed after routes and other app.use calls
app.use(logginMW.errorLogger({
color: true,
loggers: [loggin.Loggers.ConsoleLogger]
}));
Options:
errorLogger accepts an object containing some options, it extends options from loggin.Loggers.Options, and adds a couple of custom ones.
interface ErrorLoggerOptions = {
/* Loggin'JS Options */
color?: boolean; // Should the logger be colored
lineNumbers?: boolean; // Should the logger output line numbers
level?: number|string|loggin.Severity; // Set the logger level
channel?: string; // Set the channel for the logger, defaults to filename
formatter: string; // Set the logger formatter
/* Custom Options */
loggers: loggin.Loggers.Logger[]; // List of loggers to pack
msg: string|function; // Template or function to get the log message
showRaw?: boolean; // Show raw request
ignore?(req, res): boolean; // Ignore routes
}
If you found a bug or like to leave a feature request, please leave an issue and we will take care of it.
Just make sure it's not already filed.
Hi there, if you like the project don't hesitate in collaborating (if you like to), submit a pull request, post an issue, ...
Any help or ideas are apreciated!
FAQs
Express middleware for loggin-js
The npm package express-loggin-js receives a total of 12 weekly downloads. As such, express-loggin-js popularity was classified as not popular.
We found that express-loggin-js 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
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.