【问题标题】:How to setup the path in winston and app.module.ts for Linux and Windows localhost如何为 Linux 和 Windows localhost 在winston 和 app.module.ts 中设置路径
【发布时间】:2021-12-07 21:13:24
【问题描述】:

我不能成为第一个在 Windows 10 上开发并希望在本地主机上以开发模式的日志文件并将其泵入/管道到 /var/logs/myservice 文件夹(如果它处于集成或生产中)。

如何根据环境变量将window路径替换为linux路径?

在这种情况下,我使用 winston 和 nestjs。

import { Module } from '@nestjs/common';
import { EventEmitterModule } from '@nestjs/event-emitter';
import { AppController } from './app.controller';
import { AppGateway } from './app.gateway';
import { AppService } from './app.service';
import { WinstonModule } from 'nest-winston';
import * as winston from 'winston';


@Module({
  imports: [ 
    WinstonModule.forRoot({
      level: 'info',
      format: winston.format.json(),
      defaultMeta: { service: 'trading-signal-listener' },
      transports: [
        //
        // - Write all logs with level `error` and below to `error.log`
        // - Write all logs with level `info` and below to `combined.log`
        //
        new winston.transports.File({ filename: 'error.log', level: 'error' }),
        new winston.transports.File({ filename: 'combined.log' }),
      ],
    }),
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

任何帮助表示赞赏。

【问题讨论】:

    标签: linux windows nestjs devops winston


    【解决方案1】:

    我不太确定您的问题是什么,您不能只使用@nestjs/config 此处所述的https://docs.nestjs.com/techniques/configuration 并根据环境变量将特定路径传递给您的 WinstonModule?

    可以使用常规的process.env 变量,它可以工作。

    new winston.transports.File({ filename: process.env.logfile}),
            new winston.transports.File({ filename: process.env.errorfile, level: 'error' }),
    

    【讨论】:

    • 是的,这就是目的。但这是一个 app.module.ts 装饰器,它采用选项值。它不在主代码中。您将如何在选项中“注入”路径变量?
    • @feder 在这里查看nest-winston npmjs.com/package/nest-winston#user-content-async-configuration 的文档,这里有一个示例如何传递您可以自己创建的WinstonConfigService 并自己注入您的特定配置: )
    • 我已经把它添加到你之前回答了:-) 谢谢你的提示。
    猜你喜欢
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 2018-01-20
    • 1970-01-01
    • 2016-05-09
    相关资源
    最近更新 更多