理解全局模块,为数据库使用做铺垫。

master
expressgy 2 years ago
parent e540885778
commit ecd9d2b8f4
  1. 7
      src/GDEVINTERCEPTOR/gdevinterceptor.module.ts
  2. 18
      src/GDEVINTERCEPTOR/gdevinterceptor.service.spec.ts
  3. 8
      src/GDEVINTERCEPTOR/gdevinterceptor.service.ts
  4. 7
      src/GLOGGER/glogger.module.ts
  5. 8
      src/GLOGGER/glogger.service.ts
  6. 9
      src/Logger/logger.module.ts
  7. 18
      src/Logger/logger.service.spec.ts
  8. 10
      src/app.module.ts
  9. 7
      src/devInterceptor/devInterceptor.module.ts
  10. 18
      src/devInterceptor/devInterceptor.service.spec.ts
  11. 8
      src/main.ts
  12. 12
      src/starlight/starlight.controller.ts
  13. 4
      src/starlight/starlight.guard.ts
  14. 4
      src/starlight/starlight.module.ts
  15. 18
      src/starlight/starlight.service.spec.ts

@ -0,0 +1,7 @@
import { Module } from '@nestjs/common';
import { GdevinterceptorService } from './gdevinterceptor.service';
@Module({
providers: [GdevinterceptorService]
})
export class GdevinterceptorModule {}

@ -0,0 +1,18 @@
import { Test, TestingModule } from '@nestjs/testing';
import { GdevinterceptorService } from './gdevinterceptor.service';
describe('GdevinterceptorService', () => {
let service: GdevinterceptorService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [GdevinterceptorService],
}).compile();
service = module.get<GdevinterceptorService>(GdevinterceptorService);
});
it('should be defined', () => {
expect(service).toBeDefined();
});
});

@ -6,12 +6,12 @@ import {
} from '@nestjs/common';
import { Observable } from 'rxjs';
import { tap } from 'rxjs/operators';
import { LoggerService } from '../Logger/logger.service';
import { GloggerService } from '../GLOGGER/glogger.service';
@Injectable()
export class DevInterceptorService implements NestInterceptor {
logger: LoggerService;
export class GdevinterceptorService implements NestInterceptor {
logger: GloggerService;
constructor() {
this.logger = new LoggerService();
this.logger = new GloggerService();
this.logger.setContext(`[DevlInterceptor]`);
}
intercept(context: ExecutionContext, next: CallHandler): Observable<any> {

@ -0,0 +1,7 @@
import { Global, Module } from '@nestjs/common';
import { GloggerService } from './glogger.service';
@Global()
@Module({
providers: [GloggerService],
})
export class GloggerModule {}

@ -1,10 +1,12 @@
import { Injectable, Scope, ConsoleLogger } from '@nestjs/common';
import { Logger as log4jsLogger, configure, getLogger } from 'log4js';
import { ConsoleLogger, Injectable, Scope } from '@nestjs/common';
import { configure, getLogger, Logger as log4jsLogger } from 'log4js';
import config from '../../config';
@Injectable({ scope: Scope.TRANSIENT })
export class LoggerService extends ConsoleLogger {
export class GloggerService extends ConsoleLogger {
// 默认日志
defaultLog: log4jsLogger;
// 文件日志
fileLog: log4jsLogger;
context = '';

@ -1,9 +0,0 @@
import { Module } from '@nestjs/common';
import { LoggerService } from './logger.service';
import { ConfigService } from "@nestjs/config";
@Module({
providers: [LoggerService, ConfigService],
exports: [LoggerService],
})
export class Logger {}

@ -1,18 +0,0 @@
import { Test, TestingModule } from '@nestjs/testing';
import { LoggerService } from './logger.service';
describe('LoggerService', () => {
let service: LoggerService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [LoggerService],
}).compile();
service = module.get<LoggerService>(LoggerService);
});
it('should be defined', () => {
expect(service).toBeDefined();
});
});

@ -1,9 +1,9 @@
import { Module } from '@nestjs/common';
import { StarlightModule } from './starlight/starlight.module';
import { Logger } from './logger/logger.module';
import { DevInterceptorModule } from './devInterceptor/devInterceptor.module';
import { ConfigModule } from '@nestjs/config';
import { ResponseInterceptorModule } from './response-interceptor/response-interceptor.module';
// import { ResponseInterceptorModule } from './response-interceptor/response-interceptor.module';
import { GloggerModule } from './glogger/glogger.module';
import { GdevinterceptorModule } from './gdevinterceptor/gdevinterceptor.module';
import config from '../config';
@Module({
@ -13,8 +13,8 @@ import config from '../config';
load: [config], // 加载自定义配置项
}),
StarlightModule,
Logger,
DevInterceptorModule,
GloggerModule,
// GdevinterceptorModule,
// ResponseInterceptorModule,
],
controllers: [],

@ -1,7 +0,0 @@
import { Module } from '@nestjs/common';
import { DevInterceptorService } from './devInterceptor.service';
@Module({
providers: [DevInterceptorService],
})
export class DevInterceptorModule {}

@ -1,18 +0,0 @@
import { Test, TestingModule } from '@nestjs/testing';
import { DevInterceptorService } from './devInterceptor.service';
describe('GlobalInterceptorService', () => {
let service: DevInterceptorService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [DevInterceptorService],
}).compile();
service = module.get<DevInterceptorService>(DevInterceptorService);
});
it('should be defined', () => {
expect(service).toBeDefined();
});
});

@ -6,10 +6,10 @@ import {
} from '@nestjs/platform-fastify';
import { ValidationPipe } from '@nestjs/common';
import fastifyMultipart from '@fastify/multipart';
import { LoggerService } from './logger/logger.service';
import { GloggerService } from './GLOGGER/glogger.service';
import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';
import * as process from 'process';
import { DevInterceptorService } from './devInterceptor/devInterceptor.service';
import { GdevinterceptorService } from './GDEVINTERCEPTOR/gdevinterceptor.service';
import { ConfigService } from '@nestjs/config';
async function bootstrap() {
@ -24,7 +24,7 @@ async function bootstrap() {
// 配置服务
const appConfig = app.get(ConfigService);
// 日志 Log为文件路径
const logger = new LoggerService('[BOOTSTRAP]');
const logger = new GloggerService('[BOOTSTRAP]');
app.useLogger(logger);
// 全局路由前缀
app.setGlobalPrefix('api');
@ -65,7 +65,7 @@ function Swagger(app, state, logger) {
function DevInterceptor(app, state, logger) {
// 全局拦截器
if (!state) return;
app.useGlobalInterceptors(new DevInterceptorService());
app.useGlobalInterceptors(new GdevinterceptorService());
logger.warn('DevInterceptorService请求响应拦截器已开启!');
}

@ -14,8 +14,9 @@ import { CreateStarlightDto } from './dto/create-starlight.dto';
import { UpdateStarlightDto } from './dto/update-starlight.dto';
import { StarlightGuard } from './starlight.guard';
import { ApiTags } from '@nestjs/swagger';
import { LoggerService } from '../Logger/logger.service';
// import { LoggerService } from '../Logger/logger.service';
import { ConfigService } from '@nestjs/config';
// import { LogService } from '../log/log.service';
@ApiTags('starlight')
@Controller('starlight')
@ -24,8 +25,8 @@ import { ConfigService } from '@nestjs/config';
export class StarlightController {
constructor(
private readonly starlightService: StarlightService,
private readonly logger: LoggerService,
private readonly config: ConfigService,
// private readonly logger: LoggerService,
private readonly config: ConfigService, // private readonly logService: LogService,
) {}
@Post()
@ -35,8 +36,9 @@ export class StarlightController {
@Get()
findAll() {
this.logger.error(this.config.get('master'));
this.logger.warn('xsxs');
// this.logger.error(this.config.get('master'));
// this.logger.warn('xsxs');
// this.logService.getName();
return this.starlightService.findAll();
}

@ -5,11 +5,11 @@ import {
UnauthorizedException,
} from '@nestjs/common';
import { Observable } from 'rxjs';
import { LoggerService } from '../Logger/logger.service';
// import { LoggerService } from '../Logger/logger.service';
// 此文件为守卫
@Injectable()
export class StarlightGuard implements CanActivate {
constructor(private readonly logger: LoggerService) {}
constructor(/*private readonly logger: LoggerService*/) {}
canActivate(
context: ExecutionContext,
): boolean | Promise<boolean> | Observable<boolean> {

@ -1,10 +1,10 @@
import { Module } from '@nestjs/common';
import { StarlightService } from './starlight.service';
import { StarlightController } from './starlight.controller';
import { LoggerService } from '../Logger/logger.service';
// import { LoggerService } from '../Logger/logger.service';
@Module({
controllers: [StarlightController],
providers: [StarlightService, LoggerService],
providers: [StarlightService],
})
export class StarlightModule {}

@ -1,18 +0,0 @@
import { Test, TestingModule } from '@nestjs/testing';
import { StarlightService } from './starlight.service';
describe('StarlightService', () => {
let service: StarlightService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [StarlightService],
}).compile();
service = module.get<StarlightService>(StarlightService);
});
it('should be defined', () => {
expect(service).toBeDefined();
});
});
Loading…
Cancel
Save