Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marsprince/nest-log4js
a log4js module for Nest.
https://github.com/marsprince/nest-log4js
nestjs typescript
Last synced: about 1 month ago
JSON representation
a log4js module for Nest.
- Host: GitHub
- URL: https://github.com/marsprince/nest-log4js
- Owner: marsprince
- License: mit
- Created: 2018-09-12T06:14:32.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-07-04T07:45:21.000Z (over 4 years ago)
- Last Synced: 2024-11-15T04:09:27.996Z (about 2 months ago)
- Topics: nestjs, typescript
- Language: TypeScript
- Homepage:
- Size: 141 KB
- Stars: 12
- Watchers: 2
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Description
This's a [log4js](https://github.com/log4js-node/log4js-node) module for [Nest](https://github.com/nestjs/nest).## Installation
```bash
$ npm install nest-log4js
```## Quick Start
Logger is a global module in general, so I just list global usage.
If you want to Manual logger, see provider bottom, inject and log.
### Include Module
>app.module.ts
```ts
import { Log4jsModule } from 'nest-log4js';
@Module({
imports: [
...
Log4jsModule.forRoot(config),
]
})
export class AppModule {
}```
[Optional Settings](https://log4js-node.github.io/log4js-node/api.html)
is inspired by official settingsIf you use Interceptor, you should ensure 'response' and 'request' in your config categories.
If you use Filter, you should ensure 'error' in your config categories.
### Using Interceptor
Interceptor is provided for logging request and response, you can also implement your Interceptor by extend.>app.module.ts
```ts
import { Log4jsInterceptor } from 'nest-log4js';
@Module({
providers: [{
provide: 'LOG4JS_INTERCEPTOR',
useClass: Log4jsInterceptor,
}],
})
export class AppModule {
}
```### System logger
>main.ts
```ts
import { Log4jsService } from 'nest-log4js';async function bootstrap() {
const app = await NestFactory.create(AppModule, {
logger: false,
});
app.useLogger(app.get(Log4jsService));
await app.listen(3000);
}
```### Using filter
Filter is provided for logging error, you can also implement your Filter by extend.> main.ts
```ts
import { Log4jsFilter } from 'nest-log4js';async function bootstrap() {
const app = await NestFactory.create(AppModule, {
logger: false,
});
app.useGlobalFilters(app.get(Log4jsFilter));
await app.listen(3000);
}
```### Provider
LOG4JS_CONFIG: your config
LOG4JS_PROVIDER: configure(config): Logger
LOG4JS_REQUEST_LOGGER
LOG4JS_RESPONSE_LOGGER
LOG4JS_ERROR_LOGGER
### Tips
If you use pm2, please look [clustering](https://log4js-node.github.io/log4js-node/clustering.html)