feat: add integration with seq

This commit is contained in:
Polianin Nikita 2024-12-22 07:16:54 +03:00
parent e10075dfed
commit 10bf53adec
4 changed files with 40 additions and 4 deletions

View File

@ -4,6 +4,11 @@
Настройте систему логирования как будет удобно для отображения. Настройте систему логирования как будет удобно для отображения.
Можно настроить путь к файлу, имена файлов или вовсе отключить логирование в файл. Можно настроить путь к файлу, имена файлов или вовсе отключить логирование в файл.
</p> </p>
<p class="mat-body-2 secondary">
Также вы можете настроить интеграцию с Seq.
Введите необходимые данные и мы отправим тестовый лог на сервер Seq. Его уровень будет Warning.
Если тестовый лог не появился вернитесь на данный шаг и перепроверьте данные.
</p>
<form [formGroup]="loggingSettings"> <form [formGroup]="loggingSettings">
<p> <p>
@ -31,5 +36,18 @@
matTooltip="Укажите название файла, в который будут записаны логи" matTooltip="Укажите название файла, в который будут записаны логи"
formControlName="logName"> formControlName="logName">
</mat-form-field> </mat-form-field>
<mat-form-field color="accent">
<mat-label>Сервер Seq</mat-label>
<input matInput
matTooltip="Укажите сервер Seq вначале указав схему (http/https)"
formControlName="seqServer">
</mat-form-field>
<mat-form-field color="accent">
<mat-label>Api ключ Seq</mat-label>
<input matInput
matTooltip="Укажите ключ API, который вы создали в Seq"
formControlName="seqKey">
</mat-form-field>
</div> </div>
</form> </form>

View File

@ -45,7 +45,9 @@ export class LoggingComponent {
this.loggingSettings = this.formBuilder.group({ this.loggingSettings = this.formBuilder.group({
enabled: [true, Validators.required], enabled: [true, Validators.required],
logPath: [''], logPath: [''],
logName: [''] logName: [''],
seqServer: [''],
seqKey: ['']
} }
); );
@ -56,9 +58,11 @@ export class LoggingComponent {
this.navigationService.nextButtonAction = () => { this.navigationService.nextButtonAction = () => {
return this.api.setLogging({ return this.api.setLogging({
"enableLogToFile": this.loggingSettings.get('enabled')?.value, enableLogToFile: this.loggingSettings.get('enabled')?.value,
"logFileName": this.loggingSettings.get('logName')?.value, logFileName: this.loggingSettings.get('logName')?.value,
"logFilePath": this.loggingSettings.get('logPath')?.value logFilePath: this.loggingSettings.get('logPath')?.value,
apiServerSeq: this.loggingSettings.get('seqServer')?.value,
apiKeySeq: this.loggingSettings.get('seqKey')?.value
} }
); );
}; };
@ -73,6 +77,8 @@ export class LoggingComponent {
this.loggingSettings.get('enabled')?.setValue(x.enableLogToFile); this.loggingSettings.get('enabled')?.setValue(x.enableLogToFile);
this.loggingSettings.get('logName')?.setValue(x.logFileName); this.loggingSettings.get('logName')?.setValue(x.logFileName);
this.loggingSettings.get('logPath')?.setValue(x.logFilePath); this.loggingSettings.get('logPath')?.setValue(x.logFilePath);
this.loggingSettings.get('seqServer')?.setValue(x.apiServerSeq);
this.loggingSettings.get('seqKey')?.setValue(x.apiKeySeq);
}); });
} }
} }

View File

@ -163,6 +163,16 @@
Путь к файлу журнала: {{ loggingConfig.logFilePath }} Путь к файлу журнала: {{ loggingConfig.logFilePath }}
</div> </div>
} }
@if (loggingConfig.apiServerSeq) {
<div>
Сервер Seq: {{ loggingConfig.apiServerSeq }}
</div>
}
@if (loggingConfig.apiKeySeq) {
<div>
Ключ Seq: {{ loggingConfig.apiKeySeq }}
</div>
}
</div> </div>
} }

View File

@ -2,4 +2,6 @@ export interface LoggingRequest {
enableLogToFile: boolean; enableLogToFile: boolean;
logFileName?: string; logFileName?: string;
logFilePath?: string; logFilePath?: string;
apiServerSeq?: string;
apiKeySeq?: string;
} }