New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

nestjs-pino

Package Overview
Dependencies
Maintainers
1
Versions
1337
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nestjs-pino - npm Package Compare versions

Comparing version 2.0.2-alpha.32170c to 2.0.2-alpha.4116cf

2

InjectPinoLogger.js

@@ -10,3 +10,3 @@ "use strict";

decoratedLoggers.add(context);
return common_1.Inject(getLoggerToken(context));
return (0, common_1.Inject)(getLoggerToken(context));
}

@@ -13,0 +13,0 @@ exports.InjectPinoLogger = InjectPinoLogger;

@@ -63,4 +63,4 @@ "use strict";

Logger = __decorate([
common_1.Injectable(),
__param(1, common_1.Inject(params_1.PARAMS_PROVIDER_TOKEN)),
(0, common_1.Injectable)(),
__param(1, (0, common_1.Inject)(params_1.PARAMS_PROVIDER_TOKEN)),
__metadata("design:paramtypes", [PinoLogger_1.PinoLogger, Object])

@@ -67,0 +67,0 @@ ], Logger);

@@ -34,3 +34,3 @@ "use strict";

};
const decorated = InjectPinoLogger_1.createProvidersForDecorated();
const decorated = (0, InjectPinoLogger_1.createProvidersForDecorated)();
return {

@@ -48,3 +48,3 @@ module: LoggerModule_1,

};
const decorated = InjectPinoLogger_1.createProvidersForDecorated();
const decorated = (0, InjectPinoLogger_1.createProvidersForDecorated)();
const providers = [

@@ -79,5 +79,5 @@ Logger_1.Logger,

LoggerModule = LoggerModule_1 = __decorate([
common_1.Global(),
common_1.Module({ providers: [Logger_1.Logger], exports: [Logger_1.Logger] }),
__param(0, common_1.Inject(params_1.PARAMS_PROVIDER_TOKEN)),
(0, common_1.Global)(),
(0, common_1.Module)({ providers: [Logger_1.Logger], exports: [Logger_1.Logger] }),
__param(0, (0, common_1.Inject)(params_1.PARAMS_PROVIDER_TOKEN)),
__metadata("design:paramtypes", [Object])

@@ -100,4 +100,4 @@ ], LoggerModule);

// be called without arguments
storage_1.storage.run(req.log, next);
storage_1.storage.run(new storage_1.Store(req.log), next);
}
//# sourceMappingURL=LoggerModule.js.map
{
"name": "nestjs-pino",
"version": "2.0.2-alpha.32170c",
"version": "2.0.2-alpha.4116cf",
"description": "Pino logger for NestJS",

@@ -58,3 +58,3 @@ "main": "index.js",

"eslint-plugin-prettier": "^3.4.1",
"jest": "27.0.6",
"jest": "27.1.0",
"memorystream": "^0.3.1",

@@ -61,0 +61,0 @@ "pino-http": "^5.6.0",

@@ -25,3 +25,4 @@ import * as pino from 'pino';

get logger(): pino.Logger;
assign(fields: pino.Bindings): void;
}
export {};

@@ -14,2 +14,3 @@ "use strict";

};
var PinoLogger_1;
Object.defineProperty(exports, "__esModule", { value: true });

@@ -27,3 +28,3 @@ exports.PinoLogger = exports.__resetOutOfContextForTests = void 0;

exports.__resetOutOfContextForTests = __resetOutOfContextForTests;
let PinoLogger = class PinoLogger {
let PinoLogger = PinoLogger_1 = class PinoLogger {
constructor({ pinoHttp, renameContext }) {

@@ -35,3 +36,3 @@ this.context = '';

}
else if (params_1.isPassedLogger(pinoHttp)) {
else if ((0, params_1.isPassedLogger)(pinoHttp)) {
outOfContext = pinoHttp.logger;

@@ -97,10 +98,18 @@ }

get logger() {
var _a;
// outOfContext is always set in runtime before starts using
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
return storage_1.storage.getStore() || outOfContext;
return ((_a = storage_1.storage.getStore()) === null || _a === void 0 ? void 0 : _a.logger) || outOfContext;
}
assign(fields) {
const store = storage_1.storage.getStore();
if (!store) {
throw new Error(`${PinoLogger_1.name}: unable to assign extra fields out of request scope`);
}
store.logger = store.logger.child(fields);
}
};
PinoLogger = __decorate([
common_1.Injectable({ scope: common_1.Scope.TRANSIENT }),
__param(0, common_1.Inject(params_1.PARAMS_PROVIDER_TOKEN)),
PinoLogger = PinoLogger_1 = __decorate([
(0, common_1.Injectable)({ scope: common_1.Scope.TRANSIENT }),
__param(0, (0, common_1.Inject)(params_1.PARAMS_PROVIDER_TOKEN)),
__metadata("design:paramtypes", [Object])

@@ -107,0 +116,0 @@ ], PinoLogger);

@@ -11,3 +11,3 @@ <p align="center">

</a>
<img alt="GitHub branch checks state" src="https://img.shields.io/github/checks-status/iamolegga/nestjs-pino/master">
<img alt="GitHub branch checks state" src="https://badgen.net/github/checks/iamolegga/nestjs-pino">
<a href="https://codeclimate.com/github/iamolegga/nestjs-pino/test_coverage">

@@ -378,2 +378,34 @@ <img src="https://api.codeclimate.com/v1/badges/2821150bb93506cb66fc/test_coverage" />

## Assign extra fields for future calls
You can enrich logs before calling log methods. It's possible by using `assign` method of `PinoLogger` instance. As `Logger` class is used only for NestJS built-in `Logger` substitution via `app.useLogger(...)` this feature is only limited to `PinoLogger` class. Example:
```ts
@Controller('/')
class TestController {
constructor(
private readonly logger: PinoLogger,
private readonly service: MyService,
) {}
@Get()
get() {
// assign extra fields in one place...
this.logger.assign({ userID: '42' });
return this.service.test();
}
}
@Injectable()
class MyService {
private readonly logger = new Logger(MyService.name);
test() {
// ...and it will be logged in another one
this.logger.log('hello world');
}
}
```
## Migration

@@ -380,0 +412,0 @@

/// <reference types="node" />
import { AsyncLocalStorage } from 'async_hooks';
import { Logger } from 'pino';
export declare const storage: AsyncLocalStorage<Logger>;
export declare class Store {
logger: Logger;
constructor(logger: Logger);
}
export declare const storage: AsyncLocalStorage<Store>;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.storage = void 0;
exports.storage = exports.Store = void 0;
const async_hooks_1 = require("async_hooks");
class Store {
constructor(logger) {
this.logger = logger;
}
}
exports.Store = Store;
exports.storage = new async_hooks_1.AsyncLocalStorage();
//# sourceMappingURL=storage.js.map
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc