0Pricing
Go Academy · Ders

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/slog standart 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

  1. Yapılandırılmış Günlükler Neden Kullanılır
  2. slog İşleyicileri
  3. Günlük Düzeyleri ve Öznitelikler
  4. Özel İşleyiciler
← Go Academy Sayfasına Dön