
Security News
CISA Kills Off RSS Feeds for KEVs and Cyber Alerts
CISA is discontinuing official RSS support for KEV and cybersecurity alerts, shifting updates to email and social media, disrupting automation workflows.
logging-chiper
Advanced tools
This simple module offers a way to use some functionalities from the logging-chiper.
As company we want to standardize the way we log our application, so that's we wrote this module to make it easier to log our application.
npm i logging-chiper -S -E
OR
yarn add logging-chiper -S -E
To initialize the logger you need call the init
function at start point of your application, using the following parameters:
// import the class from the library
import { Logger } from 'logging-chiper';
Logger.init({
projectId: 'your-project-id',
service: 'your-service-name',
version: '0.0.1',
});
As we want to standardize the way we log our application, so we defined a base structure as input parameters to accomplish this:
// Log method
Logger.getInstance().log({
stt: 'my-stt', // name of the stt owner
context: 'my-context', // name of the class or file (optional)
functionName: 'my-function', // name of the function (optional)
message: 'my-message', // message to log
data: { // data to log (optional)
storeId: '' + 123456,
responseCode: '' + 200,
testField: 'test',
extraField: 'extra',
},
});
// Warn method
Logger.getInstance().warn({
stt: 'my-stt', // name of the stt owner
context: 'my-context', // name of the class or file (optional)
functionName: 'my-function', // name of the function (optional)
message: 'my-message', // message to log
data: { // data to log (optional)
storeId: '' + 123456,
responseCode: '' + 200,
testField: 'test',
extraField: 'extra',
},
});
// Error method
Logger.getInstance().error({
stt: 'my-stt', // name of the stt owner
context: 'my-context', // name of the class or file (optional)
functionName: 'my-function', // name of the function (optional)
message: 'my-message', // message to log
error, // the exception to log that just occurred
data: { // data to log (optional)
storeId: '' + 123456,
responseCode: '' + 200,
testField: 'test',
extraField: 'extra',
},
});
As you can see, all the methods follows almost the same structure, but when you want to log an error, you need to pass the error as parameter.
import { Logger } from 'logging-chiper';
const bootstrap = () => {
Logger.init({
projectId: 'your-project-id',
service: 'your-service-name',
version: '0.0.1',
});
Logger.getInstance().log({
stt: 'solutions',
context: 'main.ts',
functionName: 'bootstrap',
message: 'this is a log message...',
});
};
}
bootstrap();
import { createMiddleware } from 'logging-chiper';
import express, { Request, Response } from 'express';
import { AddressInfo } from 'net';
import { LoggingWinston } from '@google-cloud/logging-winston';
import { transports } from 'winston';
const app = express();
createMiddleware([ // creates the middleware
new transports.Console(), // logs to console
new LoggingWinston({ // logs to gpc
projectId: "chiper-development",
logName: "myapp"
})
]).then((mw) => {
app.use(mw); // setup middler into express
app.get('/info', (req: Request, res: Response) => {
(req as any).log.info("get Hello World!"); // Using log from request
res.status(200).send('Hello World!');
});
const server = app.listen(3000, () => {
const address = (server.address() as AddressInfo)
mw.logger.info(`running at http://${address.address}:${address.port}`); // use the logger from mw.
});
});
app.logmiddleware.ts
import { Injectable, NestMiddleware } from '@nestjs/common';
import { Request, Response, NextFunction } from 'express';
import { createMiddleware } from 'logging-chiper';
import { LoggingWinston } from '@google-cloud/logging-winston';
import { transports } from 'winston';
@Injectable()
export class LoggerMiddleware implements NestMiddleware {
async use(req: Request, res: Response, next: NextFunction) {
const mw = await createMiddleware([ // creates the middleware
new transports.Console(), // logs to console
new LoggingWinston({ // logs to gpc
projectId: "chiper-development",
logName: "myapp"
})
])
mw(req, res, next);
}
}
app.module.ts
import { MiddlewareConsumer, Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { LoggerMiddleware } from "./app.loggermiddleware";
@Module({
imports: [],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {
configure(consumer: MiddlewareConsumer) {
consumer
.apply(LoggerMiddleware)
.forRoutes('*');
}
}
FAQs
just a little module to log
The npm package logging-chiper receives a total of 134 weekly downloads. As such, logging-chiper popularity was classified as not popular.
We found that logging-chiper 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
CISA is discontinuing official RSS support for KEV and cybersecurity alerts, shifting updates to email and social media, disrupting automation workflows.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
Research
Security News
Socket uncovers an npm Trojan stealing crypto wallets and BullX credentials via obfuscated code and Telegram exfiltration.