logging-chiper
Advanced tools
Comparing version 2.0.0 to 2.1.0
export { Logger } from './logger'; | ||
export { createMiddleware } from './middleware'; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.Logger = void 0; | ||
exports.createMiddleware = exports.Logger = void 0; | ||
var logger_1 = require("./logger"); | ||
Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return logger_1.Logger; } }); | ||
var middleware_1 = require("./middleware"); | ||
Object.defineProperty(exports, "createMiddleware", { enumerable: true, get: function () { return middleware_1.createMiddleware; } }); |
{ | ||
"name": "logging-chiper", | ||
"version": "2.0.0", | ||
"version": "2.1.0", | ||
"description": "just a little module to log", | ||
@@ -14,7 +14,9 @@ "main": "dist/index.js", | ||
"@google-cloud/logging-winston": "4.2.3", | ||
"uuid": "^8.3.2", | ||
"winston": "3.7.2" | ||
}, | ||
"devDependencies": { | ||
"jest": "^28.1.1", | ||
"typescript": "4.6.2" | ||
} | ||
} |
@@ -109,4 +109,5 @@ # Logging Chiper | ||
## Example | ||
## Examples | ||
### Simple Log | ||
```typescript | ||
@@ -133,1 +134,88 @@ import { Logger } from 'logging-chiper'; | ||
``` | ||
### Log Requests | ||
#### With Express | ||
```typescript | ||
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. | ||
}); | ||
}); | ||
``` | ||
## With NestJS | ||
- You need the create an interceptor for logging: | ||
app.logmiddleware.ts | ||
```typescript | ||
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); | ||
} | ||
} | ||
``` | ||
- And then configure in the module: | ||
app.module.ts | ||
```typescript | ||
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('*'); | ||
} | ||
} | ||
``` |
19074
10
366
219
3
2
+ Addeduuid@^8.3.2