如何在 winston 和 app.module.ts 中为 Linux 和 Windows localhost 设置路径
How to setup the path in winston and app.module.ts for Linux and Windows localhost
我不能成为第一个在 Windows 10 上开发并希望本地主机上的开发模式日志文件和 pump/pipe 如果它处于集成状态或 /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 {}
感谢任何帮助。
我不太确定你的问题是什么,你不能像这里描述的那样使用 @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' }),
我不能成为第一个在 Windows 10 上开发并希望本地主机上的开发模式日志文件和 pump/pipe 如果它处于集成状态或 /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 {}
感谢任何帮助。
我不太确定你的问题是什么,你不能像这里描述的那样使用 @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' }),