summaryrefslogtreecommitdiff
path: root/packages/backend/src/core/LoggerService.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/core/LoggerService.ts')
-rw-r--r--packages/backend/src/core/LoggerService.ts33
1 files changed, 33 insertions, 0 deletions
diff --git a/packages/backend/src/core/LoggerService.ts b/packages/backend/src/core/LoggerService.ts
new file mode 100644
index 0000000000..d844b38841
--- /dev/null
+++ b/packages/backend/src/core/LoggerService.ts
@@ -0,0 +1,33 @@
+import { Inject, Injectable } from '@nestjs/common';
+import * as SyslogPro from 'syslog-pro';
+import { DI } from '@/di-symbols.js';
+import { Config } from '@/config.js';
+import Logger from '@/logger.js';
+
+@Injectable()
+export class LoggerService {
+ #syslogClient;
+
+ constructor(
+ @Inject(DI.config)
+ private config: Config,
+ ) {
+ if (this.config.syslog) {
+ this.#syslogClient = new SyslogPro.RFC5424({
+ applacationName: 'Misskey',
+ timestamp: true,
+ encludeStructuredData: true,
+ color: true,
+ extendedColor: true,
+ server: {
+ target: config.syslog.host,
+ port: config.syslog.port,
+ },
+ });
+ }
+ }
+
+ public getLogger(domain: string, color?: string | undefined, store?: boolean) {
+ return new Logger(domain, color, store, this.#syslogClient);
+ }
+}