angular - ngx-logger içinde birden fazla günlükleme seviyesini yapılandırma
Bir Angular uygulamam var ve yalnızca belirli bir bileşen/sınıf için bir günlükleme seviyesi yapılandırabileceğim ngx-logger framework'ünü eklemeyi düşünüyorum.
Öyleyse diyelim ki bir Angular uygulamasının 5 farklı bileşeni/sınıfı var ve varsayılan Kök seviyesi INFO olarak ayarlanmış. O zaman sadece 1 bileşen/sınıf için DEBUG seviyesini ayarlayabilmek istiyorum. Bu şekilde sadece bu bileşen/sınıf için hata ayıklama mesajlarını alacağım, diğerlerini değil. Bu mümkün mü?
Bu, Java'nın Log4j tarafından sağlanan aynı işlevselliktir; burada belirli paketler için farklı günlük seviyelerini yapılandırmanıza olanak tanır.
Eğer ngx-logger bu özelliği desteklemiyorsa, bilen var mı başka hangi Angular loglama çerçevesi bunu destekliyor?
Cevap #1
Günlük seviyesi, günlük kaydedicinin örneği tarafından paylaşılır, bu yüzden bileşenler/modüller/vb. için belirli günlük seviyelerine sahip olmak istiyorsanız, farklı bir örnek sağlamanız gerekir
Bir bileşen için örnek
import { Component } from "@angular/core";
import { NGXLogger, NgxLoggerLevel } from "src/public_api";
@Component({
templateUrl: './local-provider.component.html',
providers: [NGXLogger],
})
export class LocalProviderComponent {
constructor(public logger: NGXLogger) {
}
log(): void {
this.logger.debug('Test');
}
changeLogLevel(): void {
const config = this.logger.getConfigSnapshot()
config.level = config.level === NgxLoggerLevel.TRACE ? NgxLoggerLevel.ERROR : NgxLoggerLevel.TRACE;
this.logger.updateConfig(config);
}
}
Tam örnek, depoda şurada bulunabilir: https://github.com/dbfannin/ngx-logger/tree/master/projects/not-a-singleton
