Какой уровень использует Морган вместе с Уинстоном?

В настоящее время я изучаю ведение журнала в контексте nodejs. В настоящее время моя установка использует Морган в качестве промежуточного программного обеспечения Express и Winston в качестве моей регистрации. У меня вопрос, какой уровень ведения журнала использует Морган? Это мои приложения пока. Я пытаюсь решить, как я собираюсь разделить мою регистрацию.

import bodyParser from "body-parser";
import express from "express";
import helmet from "helmet";
import morgan from "morgan";
import path from "path";
import { logger, stream } from "./utils/logger";
import es from "./esClient";

const app = express();

app.use(helmet());
app.use(morgan("combined", { stream }));
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

export default app;

и это мой файл журнала, который я импортирую

import winston from "winston";
import path from "path";

winston.emitErrs = true;

const logger = new winston.Logger({
  transports: [
    new winston.transports.File({
      level: "info",
      name: "info",
      filename: path.join(__dirname,"..","..","logs/access.log"),
      json: true,
      maxsize: 5242880, //5MB
      maxFiles: 5,
      colorize: true
    }),
    new winston.transports.File({
      level: "verbose",
      name: "elasticsearch",
      filename: path.join(__dirname,"..","..","logs/elasticsearch.log"),
      json: true,
      maxsize: 5242880, //5MB
      maxFiles: 5,
      colorize: true
    }),
    new winston.transports.File({
      level: "error",
      name: "error",
      filename: path.join(__dirname,"..","..","logs/errors.log"),
      json: true,
      maxsize: 5242880, //5MB
      maxFiles: 5,
      colorize: true
    }),
    new winston.transports.Console({
      colorize: true,
      level: "warning"
    })
  ]
});

const stream = {
  write: function(message, encoding){
    logger.info(message);
  }
};

export { logger, stream };

редактировать: для пояснения, я не хочу, чтобы мои журналы http запросов регистрировались в журналах моей базы данных. Есть ли способ сделать это?

0 ответов

Другие вопросы по тегам