
Research
Supply Chain Attack on Axios Pulls Malicious Dependency from npm
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.
@jasonsoft/nestjs-seq
Advanced tools
🐷 Seq logging module for Nest framework (node.js)
# Using npm
$ npm i --save @jasonsoft/nestjs-seq
# Using yarn
$ yarn add @jasonsoft/nestjs-seq
# Using pnpm
$ pnpm add @jasonsoft/nestjs-seq
After successfully installing the package, proceed to integrate the SeqLoggerModule into your project's root AppModule.
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
/**
* Import the SeqLoggerModule into the root AppModule to enable centralized logging.
* This module is configured to connect to a Seq server for log aggregation and analysis.
* It is essential for monitoring and debugging applications by collecting and storing logs.
* Updated by Jason.Song (成长的小猪) on 2024/04/21
* Added by Jason.Song (成长的小猪) on 2021/09/08
*/
import { SeqLoggerModule } from '@jasonsoft/nestjs-seq';
@Module({
imports: [
/**
* Import and configure the SeqLoggerModule using the .forRoot() method.
* This method initializes the module with server-specific configurations,
* allowing for centralized management of log data across the application.
* Updated by Jason.Song (成长的小猪) on 2024/04/21
* Added by Jason.Song (成长的小猪) on 2021/09/08
*/
SeqLoggerModule.forRoot({
/** Specifies the URL of the Seq server to which logs should be sent. */
serverUrl: 'http://localhost:5341',
/** Provides the API Key required for authenticating with the Seq server. */
apiKey: 'K7iUhZ9OSp6oX5EOCfPt',
/** Optional additional metadata properties */
extendMetaProperties: {
/** Defines a custom service name for the logs, aiding in their categorization and filtering.
* This name helps in identifying logs related to this service in a mixed-service environment.
*/
serviceName: 'product-service',
},
/** For more configuration details, see the "Seq Logger Options Documentation" section below. */
}),
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
// Import ConfigModule to manage application configuration through environment variables.
import { ConfigModule, ConfigService } from '@nestjs/config';
import { SeqLoggerModule } from '@jasonsoft/nestjs-seq';
@Module({
imports: [
ConfigModule.forRoot(),
/**
* Asynchronously configure the SeqLoggerModule using the forRootAsync() method.
* This method allows module options to be passed asynchronously, leveraging factory providers
* that can be asynchronous and inject dependencies such as ConfigService.
* Updated by Jason.Song (成长的小猪) on 2024/04/21
* Added by Jason.Song (成长的小猪) on 2021/10/20
*/
SeqLoggerModule.forRootAsync({
imports: [ConfigModule],
useFactory: async (configService: ConfigService) => ({
/** Specifies the HTTP/S endpoint address of the Seq server for log transmission. */
serverUrl: configService.get('SEQ_SERVER_URL'),
/** Provides the API Key required for authenticating with the Seq server. */
apiKey: configService.get('SEQ_API_KEY'),
/** Optional additional metadata properties to enhance log categorization and filtering. */
extendMetaProperties: {
/** Custom service name for the logs to assist in their categorization and filtering within a multi-service environment. */
serviceName: configService.get('SEQ_SERVICE_NAME'),
},
/** For more configuration details, see the "Seq Logger Options Documentation" section below. */
}),
inject: [ConfigService],
}),
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
Please refer to the Seq Logger Options Documentation for detailed explanations of the configuration options available for the Seq Logger. For immediate access to the document, click here.
import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';
/**
* Import the SeqLogger for structured logging.
* This logger allows for easy tracking and querying of log data.
* Updated by Jason.Song (成长的小猪) on 2024/04/21
* Added by Jason.Song (成长的小猪) on 2021/09/08
*/
import { SeqLogger } from '@jasonsoft/nestjs-seq';
@Controller()
export class AppController {
constructor(
/**
* Inject the Seq Logger service for structured logging.
* This service provides methods to log various levels of information (info, debug, error).
* Updated by Jason.Song (成长的小猪) on 2024/04/21
* Added by Jason.Song (成长的小猪) on 2021/09/08
*/
private readonly logger: SeqLogger,
private readonly appService: AppService,
) {}
@Get()
getHello(): string {
this.logger.info('getHello - start', AppController.name);
const result = this.appService.getHello();
this.logger.debug(
`Retrieving result from {name}`,
{
name: 'AppService',
result,
note: 'The message template function is used here',
},
AppController.name,
);
try {
throw new Error('Oops! Something whimsically wrong just happened!');
} catch (error: any) {
this.logger.error(error, AppController.name);
this.logger.error(
'The error has been successfully captured and handled!',
error,
AppController.name,
);
return result;
}
}
}
Seq is a powerful centralized logging system. Explore the logs we have gathered:

This section describes how to integrate Nest system console logging with Seq through a custom console logger. To set up this integration, follow the steps below:
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
/**
* Import the ConsoleSeqLogger to extend the built-in logger for supporting Seq.
* Added by Jason.Song (成长的小猪) on 2021/09/24
*/
import { ConsoleSeqLogger } from '@jasonsoft/nestjs-seq';
async function bootstrap() {
/**
* Set bufferLogs to true to buffer all logs until the ConsoleSeqLogger is attached.
* This ensures that logs are captured during the application initialization.
* If initialization fails, Nest will use the default ConsoleLogger to output error messages.
*/
const app = await NestFactory.create(AppModule, {
bufferLogs: true,
});
/**
* Use the ConsoleSeqLogger to extend the built-in logger functionality.
*/
app.useLogger(app.get(ConsoleSeqLogger));
await app.listen(3000);
}
bootstrap();
This setup allows your NestJS application to log directly to Seq, providing a centralized logging solution.
Seq Interface Overview showing the integration of Nest System Console Logging with Seq.

For a practical implementation example, visit the nestjs-seq-example repository on GitHub.
FAQs
Seq logging module for Nest framework (node.js)
The npm package @jasonsoft/nestjs-seq receives a total of 145 weekly downloads. As such, @jasonsoft/nestjs-seq popularity was classified as not popular.
We found that @jasonsoft/nestjs-seq demonstrated a healthy version release cadence and project activity because the last version was released less than 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.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.

Security News
TeamPCP is partnering with ransomware group Vect to turn open source supply chain attacks on tools like Trivy and LiteLLM into large-scale ransomware operations.