Node.js'de Günlük Kaydı Nasıl Uygulanır?

Node Js De Gunluk Kaydi Nasil Uygulanir



Kerestecilik node.js'deki ”, web sitesi geliştirme prosedürünün tüm yaşam döngüsünü sürdürmede hayati bir rol oynar. Öyle ki loglama, geliştiricilerin zaman zaman kod fonksiyonlarını analiz ederek verileri analiz etmek ve kod analizine göre hataları kodlayıp çözmek için gerçekleştirdiği en yaygın işlevselliktir.

Bu yazı aşağıda listelenen içerikleri açıklamaktadır:

Node.js'ye ne zaman giriş yapılmalı?

Node.js'deki yaygın günlük kaydı düzeyleri şunlardır:







  • Bilgi: Kolaylaştırılmış kod yürütmeyi onaylayan görevler veya çıktılar.
  • Uyarmak: Başarısızlıklardan kaçınmak için dikkate alınması gereken olaylar.
  • Hata: Kod yürütme işleminin başarısız olmasına neden olan olaylar.
  • Hata ayıklama: Bu seviye çoğunlukla geliştiriciler tarafından kullanılır.

Kayıt İşlemi Nerede Yapılıyor?

Günlük olayları kuyruğa alınabilir ve birden fazla dinleyici kuyruğu dinleyebilir ve gereken günlüğe yazabilir. Nereye kayıt yapılacağına karar vermeden önce, hedef metodolojinin birden fazla log mesajıyla baş edebileceği bilinmelidir. Yaygın günlük konumlarından bazıları şunlardır:



  • stdout
  • stderr
  • konsol

Öyle ki temel “ console.log() ' Ve ' console.info() “yöntemler günlüğüne” stdout ”. Ancak ' konsol.warn() ' Ve ' konsol.hata() “yöntemler günlüğüne” stderr ”. Bu yöntemler çıktıyı konsolda görüntüler. Ön uçta bu, programcının araç konsolu olacaktır.



Node.js'de Günlük Kaydı Nasıl Uygulanır?

Çeşitli durumlarda oturum açma ihtiyacını analiz etmek, ilgili günlük kaydı yaklaşımını uygulamak için çok önemlidir. Node.js'de oturum açma işlemi aşağıda belirtilen yaklaşımlarla gerçekleştirilebilir:





  • console.log() ' Yöntem.
  • konsol.warn() ' Yöntem.
  • konsol.hata() ' Yöntem.
  • konsol.tablo() ' Yöntem.
  • Hata Ayıklama Modülü.
  • Winston Paketi.

Yaklaşım 1: “console.log()” Yöntemini Kullanarak node.js'de Günlük Kaydı Uygulaması

console.log() ” yöntemi konsoldaki çıktıyı görüntüler ve zaman zaman kod işlevlerinin test edilmesine yardımcı olur.

Sözdizimi



konsol. kayıt ( karışıklık )

Bu sözdiziminde, “ karışıklık ” Konsola yazılacak mesajı ifade eder.

Şimdi, sağlanan mesajları konsola kaydeden aşağıda verilen kod bloğuna ilerleyin:

konsol. kayıt ( 'Bu Linuxhint!' ) ;

konsol. kayıt ( 'Bu Node.js!' ) ;

Çıktı

Bu sonuçtan, belirtilen mesajların konsolda uygun şekilde görüntülendiği söylenebilir.

Yaklaşım 2: “console.warn()” Yöntemini Kullanarak node.js'de Günlüğe Kaydetme Uygulaması

konsol.warn() ” yöntemi konsola bir uyarı mesajı görüntüler.

Sözdizimi

konsol. uyarmak ( karışıklık )

Verilen sözdiziminde, “ karışıklık ”, konsolda görüntülenecek mesajı (özel de) belirtir.

Şimdi özel bir uyarı mesajı görüntüleyen aşağıdaki kod satırına gidin. konsol.warn() ' yöntem:

konsol. uyarmak ( 'Bu bir uyarıdır!' ) ;

Çıktı

Görüldüğü gibi belirtilen özel uyarı uygun şekilde görüntülenmektedir.

Yaklaşım 3: “console.error()” Yöntemini Kullanarak node.js'de Günlüğe Kaydetme Uygulaması

Bu yöntem konsola bir hata mesajı yazar.

Sözdizimi

konsol. hata ( [ veri ] [ , ... argümanlar ] )

Bu sözdiziminde:

  • veri ” birincil mesajı ifade eder.
  • argümanlar ” değerleri temsil eder.

Geri dönüş değeri

Bu yöntem bir hata mesajı alır.

Karşılanmayan koşul durumunda bir hata mesajı kaydeden aşağıdaki kod parçacığına genel bakış:

X = 150 ;
eğer ( X < 100 ) {
konsol. kayıt ( 'Gitmek güzel' ) ;
}
başka {
konsol. hata ( 'Uygunsuz Numara' ) ;
}

Bu koda göre:

  • Koşullar için analiz edilecek bir tamsayıyı başlatın.
  • Bundan sonra “ eğer ” ifadesi öyle ki, başlatılan tamsayı “100”den küçükse belirtilen mesaj görüntülenir.
  • Aksi halde “ başka ” ifadesi “” dosyasındaki hata mesajını yürütür. konsol.hata() ' yöntem.

Çıktı

Bu çıktı, karşılanmayan koşul durumunda özel hata mesajının konsolda uygun şekilde görüntülendiğini doğrular.

Yaklaşım 4: “console.table()” Yöntemini Kullanarak node.js'de Günlüğe Kaydetme Uygulaması

Bu yöntem konsolda bir tablo oluşturur ve görüntüler.

Sözdizimi

konsol. masa ( td, tc )

Burada, ' td ” tablo verilerini temsil eder ve “ TC ” tablo sütunlarının dizisini ifade eder.

Şimdi, video veri türlerinin atanmış değerlerine iki kez ayrı bir dizin atayarak tablo oluşturan aşağıdaki kod ifadesini inceleyin:

konsol. masa ( [ { X : 10 , A : 'Harry' } , { X : on beş , A : 'İle' } ] ) ;

Çıktı

Yaklaşım 5: “Hata Ayıklama Modülünü” Kullanarak node.js'de Günlük Kaydı Uygulama

Bu modül, arka uç bir internet isteği aldığında, Express, Koa vb. gibi web ara katman yazılımının durumuyla ilgili ek bilgileri günlüğe kaydetmek için kullanılabilir. Ara katman yazılımı istek hattına konur.

Günlük ara yazılımını ayarlamaya yönelik yaklaşımlar aşağıda verilmiştir:

Örnek 1: Uygulamadan Günlük Kaydı Ara Yazılımını Ayarlama

app.use() ” işlevi, hedef ara yazılım işlevini belirtilen yola bağlar.

Sözdizimi

uygulama. kullanmak ( pt, cb )

Yukarıda verilen sözdiziminde:

  • puan ”, ara yazılım fonksiyonunun çağrılacağı yolu ifade eder.
  • cb ” ara yazılım fonksiyon(lar)ına karşılık gelir.

Aşağıda, bir uygulama ve tartışılan yöntem aracılığıyla günlük kaydı ara yazılımını kuran kod gösterimi yer almaktadır:

yapı uygulama = ifade etmek ( )

yapı logAra yazılım = gerekmek ( 'günlüğe kaydetme ara yazılımım' )

uygulama. kullanmak ( logAra yazılım )

Bu kodda bir Express uygulaması oluşturun ve şunu ekleyin: günlüğe kaydetme ara yazılımım Günlük ara yazılımıyla çalışmaya başlamak için ”. Son olarak “ app.use() Hedef ara yazılım fonksiyonunu belirtilen yola monte etmek için ” fonksiyonu.

Örnek 2: Günlük Kaydı Ara Yazılımını Yönlendirici Aracılığıyla Uygulamadan Ayarlama

yönlendirici.use() ” işlevi, hedef yönlendirici aracılığıyla sunulan rotalar için ara yazılımları bağlar.

Sözdizimi

yönlendirici. kullanmak ( için, işlev )

Bu sözdiziminde:

  • puan ” ara yazılım yolunu ifade eder.
  • işlev ” geri arama olarak iletilen işleve karşılık gelir.

Aşağıdaki örnek, yönlendirici nesnesinin ve “ yönlendirici.use() ' işlev:

yapı yönlendirici = ifade etmek. Yönlendirici ( )

yapı rtLoggingAra yazılım = gerekmek ( 'rota günlüğü-ara yazılımım' )

yönlendirici. kullanmak ( rtLoggingAra yazılım )

Bu kodda:

  • express.Router() ” işlevi yeni bir yönlendirici nesnesi oluşturur.
  • Bundan sonra şunları ekleyin: rota günlüğe kaydetme ara yazılımım ” ve aynı şekilde “ yönlendirici.use() Hedef yönlendirici tarafından sunulan rotalar için ara katman yazılımını bağlama işlevi.

Yaklaşım 6: “Winston Paketini” Kullanarak node.js'de Günlük Kaydı Uygulaması

Bu özel paket, depolama seçeneklerini, çoklu günlük düzeylerini, sorguları ve bir profil oluşturucuyu içerir. Bu yaklaşımla günlüğe kaydetmeyi uygulayan kod gösterimi aşağıdadır:

yapı X = ifade etmek ( )
yapı katmak = gerekmek ( 'winston' )
yapı konsolTaşıma = yeni katmak. taşımalar . Konsol ( )
yapı tercihler = {
taşımalar : [ konsolTaşıma ]
}
yapı ağaç kesicisi = yeni katmak. createLogger ( tercihler )
fonksiyon ekranıTalep ( istek, res, sonraki ) {
ağaç kesicisi. bilgi ( talep URL )
Sonraki ( )
}
X. kullanmak ( görüntüleme isteği )
işlev ekranı hatası ( hata, istek, res, sonraki ) {
ağaç kesicisi. hata ( hata )
Sonraki ( )
}
X. kullanmak ( ekran hatası )

Bu kodda:

  • Filtreleme ile birden fazla aktarım ayarlanabilir ve özel formatlayıcılar ayarlanabilir.
  • Ayrıca, farklı işlevlerde birden fazla günlükçü örneği belirtilir; örneğin, “ logger.info() ' Ve ' logger.error() ”.
  • Bu kaydediciler sırasıyla bilgileri ve hata mesajlarını görüntüler.
  • Bu kodda yalnızca istenen URL günlüğe kaydedilir.

Aşağıda verilen parametreler kaydediciler tarafından alınır:

İsim Varsayılan Tanım
biçim Winston.format.json Bilgi mesajlarını biçimlendirir
sessiz YANLIŞ Doğruysa tüm günlükler askıya alınır.
çıkışOnError Doğru Yanlışsa, başa çıkan istisnalar proses.çıkışa neden olmaz
seviyeler Winston.config.npm.levels Düzeyler günlük önceliklerini ifade eder.

Çözüm

Node.js'de oturum açma işlemi ' console.log() ” yöntemi, “ konsol.warn() ” yöntemi, “ konsol.hata() ” yöntemi, “ konsol.tablo() ” yöntemi, “ Hata Ayıklama Modülü ”veya“ aracılığıyla Winston Paketi ”. Konsol yöntemleri bilgileri ve hata mesajlarını görüntüler. Hata Ayıklama Modülü, web ara yazılımının durumuna ilişkin ek bilgileri günlüğe kaydeder ve Winston paketi, depolama seçeneklerini ve çeşitli günlük düzeylerini içerir.