Yapılandırılmış Günlükler Neden Kullanılır
Makine tarafından okunabilir günlük kaydı
Yapılandırılmış Günlükler Neden Kullanılır, CoddyKit'te ücretsiz bir Go Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Go Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Go Academy kursu toplamda 4 dersten oluşur.
Makinelerin Okuyabileceği Günlükler
Geleneksel günlükler serbest biçimli dizelerdir: "user 42 logged in from 1.2.3.4". İnsanlar için okunmaları kolaydır, ancak makinelerin bunlar üzerinde sorgu yapması zordur. Yapılandırılmış günlükleme, günlük toplayıcılarının güvenilir biçimde süzebilmesi ve toplulaştırabilmesi için anahtar-değer çiftleri üretir.
Dize Günlüklerinin Sorunu
Serbest metni ayrıştırmak kırılgandır:
- Biçimler zamanla değişir
- Düzenli ifadeler uç durumlarda bozulur
- "userID=42 olan tüm olaylar" sorgusunu kolayca yapamazsınız
Yapılandırılmış günlükler, her alanı birinci sınıf ve sorgulanabilir bir öznitelik hâline getirir.
slog Standart Kitaplıktadır
Go 1.21'den beri yapılandırılmış günlükleme, standart kitaplıktaki log/slog paketinde yer alır. Harici bağımlılık gerekmez.
import "log/slog"İlk Yapılandırılmış Günlüğünüz
En basit çağrı, bir iletiyi anahtar-değer öznitelikleriyle birlikte günlüğe yazar:
package main
import "log/slog"
func main() {
slog.Info("user logged in", "userID", 42, "ip", "1.2.3.4")
}Çıktıyı Okuma
Varsayılan işleyici yaklaşık olarak şunu yazdırır:
2009/11/10 23:00:00 INFO user logged in userID=42 ip=1.2.3.4
Her öznitelik, makine tarafından ayrıştırılmaya hazır ayrı bir key=value çiftidir.
Yerleşik Düzeyler
slog dört düzeyle birlikte gelir: Debug, Info, Warn, Error. Her biri bir ileti ve art arda gelen anahtar-değer öznitelikleri alır.
slog.Warn("disk almost full", "freePct", 5)
slog.Error("db connection failed", "attempt", 3)Anahtar-Değer Çiftleri
Öznitelikler art arda gelen bağımsız değişkenler olarak aktarılır: anahtar, değer, anahtar, değer. Tek sayıda başıboş bir bağımsız değişken, özel bir !BADKEY işaretiyle günlüğe yazılır; bu nedenle çiftleri eksiksiz tutun.
slog.Info("order placed", "orderID", 1001, "total", 49.99)Üretim için JSON
Üretimde genellikle JSON üretirsiniz; böylece günlük aktarım araçları (Loki, ELK, CloudWatch) alanları otomatik olarak dizine ekleyebilir. slog'un tam olarak bunun için bir JSON işleyicisi vardır; sonraki derste bunu ele alacağız.
Eski log Paketiyle Karşılaştırma
Klasik log paketi yalnızca dizeleri yazdırır. slog, tanıdık kullanım biçimini korurken tüm kod tabanınızı bir kerede değiştirmenize gerek kalmadan yapı, düzeyler ve takılabilir işleyiciler ekler.
Yapı Ne Zaman Fayda Sağlar
Yapılandırılmış günlükleme en çok şu durumlarda fayda sağlar:
- Birçok hizmetten gelen günlükleri merkezileştirdiğinizde
- Alanlar üzerinde panolar ve uyarılar oluşturduğunuzda
- İstekleri bir ID ile ilişkilendirmeniz gerektiğinde
Çalıştırılabilir: Yapılandırılmış Çıktı
Yapılandırılmış öznitelikleri varsayılan çıktıda görmek için bunu çalıştırın.
package main
import "log/slog"
func main() {
slog.Info("request handled",
"method", "GET",
"path", "/health",
"status", 200,
"ms", 12,
)
}Hızlı Kontrol
Yapılandırılmış günlükleme konusundaki anlayışınızı sınayın.
Özet
Yapılandırılmış günlüklerin neden önemli olduğunu öğrendiniz:
- Anahtar-değer öznitelikleri makineler tarafından sorgulanabilir
log/slogstandart kitaplıktadır (Go 1.21+)- Yerleşik düzeyler: Debug, Info, Warn, Error
- Öznitelikleri art arda gelen anahtar, değer çiftleri olarak aktarın
Sırada: metin ve JSON işleyicileri arasında seçim yapmak var.
Sıkça Sorulan Sorular
“Yapılandırılmış Günlükler Neden Kullanılır” dersi ücretsiz mi?
Evet — “Yapılandırılmış Günlükler Neden Kullanılır” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Go Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Go Academy kursu toplamda 4 dersten oluşur.
“Yapılandırılmış Günlükler Neden Kullanılır” dersinde ne öğreneceğim?
Makine tarafından okunabilir günlük kaydı Go Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Go Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Go Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Yapılandırılmış Günlükler Neden Kullanılır” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Go Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Go Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Yapılandırılmış Günlükler Neden Kullanılır
- slog İşleyicileri
- Günlük Düzeyleri ve Öznitelikler
- Özel İşleyiciler