1
1
mirror of https://github.com/kokonect-link/cherrypick synced 2024-12-14 14:48:53 +09:00
cherrypick/packages/backend/src/core/LoggerService.ts
Kagami Sascha Rosylight 4b98920f02
Fix import related TypeScript errors (#9321)
* Add missing @types packages

* Fix TS1272 type only imports

* Fix TS2821 import assertion
2022-12-14 00:01:45 +09:00

37 lines
908 B
TypeScript

import { Inject, Injectable } from '@nestjs/common';
import * as SyslogPro from 'syslog-pro';
import { DI } from '@/di-symbols.js';
import type { Config } from '@/config.js';
import Logger from '@/logger.js';
import { bindThis } from '@/decorators.js';
import type { KEYWORD } from 'color-convert/conversions';
@Injectable()
export class LoggerService {
private syslogClient;
constructor(
@Inject(DI.config)
private config: Config,
) {
if (this.config.syslog) {
this.syslogClient = new SyslogPro.RFC5424({
applicationName: 'Misskey',
timestamp: true,
includeStructuredData: true,
color: true,
extendedColor: true,
server: {
target: config.syslog.host,
port: config.syslog.port,
},
});
}
}
@bindThis
public getLogger(domain: string, color?: KEYWORD | undefined, store?: boolean) {
return new Logger(domain, color, store, this.syslogClient);
}
}