Tüm Ürünler
Search
Belge Merkezi

Function Compute:Logging

Son Güncelleme:Oct 08, 2026

Function Compute'ün PHP çalışma zamanı, işlev kodunuzdan günlük kaydı oluşturmak için iki yöntem destekler: yerleşik logger modülü ve standart PHP çıktı fonksiyonları. Bu konu, her bir yaklaşımın nasıl kullanılacağını ve bir işlev çalıştırıldıktan sonra günlüklerin nasıl görüntüleneceğini açıklar.

Günlükleri Yazdırma

Yerleşik logger'ı kullanma

Yerleşik bir çalışma zamanı kullanan işlevler için logger'a $GLOBALS['fcLogger'] global değişkeni üzerinden erişin. Günlükler, hizmeti oluştururken belirttiğiniz Simple Log Service (SLS) Logstore'a otomatik olarak iletilir.

Her günlük girişi şu biçimdedir:

YYYY-MM-DD HH:MM:SS <requestId> [LEVEL] message

Örnek:

2024-01-04 10:50:44 1-659xxxxx-16cxxxxx-39659xxxxxx [INFO] hello world

Yerleşik logger, her girişe otomatik olarak bir zaman damgası, istek kimliği ve günlük düzeyi ekler. Standart PHP çıktı fonksiyonları (bir sonraki bölümde ele alınmıştır) bu üst verileri içermez.

Aşağıdaki örnek, varsayılan INFO düzeyinde iki günlük kaydı yazdırır; ardından düzeyi CRITICAL (500) seviyesine yükselterek sonraki INFO günlüklerinin bastırılmasını sağlar:

<?php

function handler($event, $context) {
  $logger = $GLOBALS['fcLogger'];
  $logger->info('hello world');
  $logger->critical('world hello');

  $logger->setLevel(500);
  $logger->info('hello world 2');    // suppressed -- below CRITICAL threshold
  $logger->critical('world hello 2');
  return 'hello world';
}

Beklenen çıktı:

FunctionCompute php7.2 runtime inited.
FC Invoke Start RequestId: 1-659xxxxx-16cxxxxx-39659xxxxxx
2024-01-04 10:50:44 1-659xxxxx-16cxxxxx-39659xxxxxx [INFO] hello world
2024-01-04 10:50:44 1-659xxxxx-16cxxxxx-39659xxxxxx [CRITICAL] world hello
2024-01-04 10:50:44 1-659xxxxx-16cxxxxx-39659xxxxxx [CRITICAL] world hello 2
\nFC Invoke End RequestId: 1-659xxxxx-16cxxxxx-39659xxxxxx

hello world 2 görünmez çünkü setLevel(500) çağrısından sonra logger yalnızca CRITICAL (500) veya üzeri mesajları yayar.

Günlük düzeyleri

Hangi mesajların yayılacağını kontrol etmek için $logger->setLevel(<numeric_level>) yöntemini çağırın. Aktif düzeyin altındaki mesajlar atlanır. Varsayılan düzey INFO (200) değeridir.

Günlük düzeyi Sayısal değer Arayüz Kullanım durumu
EMERGENCY 600 $logger->emergency Sistem kullanılamaz durumda ve acil eylem gerektiriyor
ALERT 550 $logger->alert Kritik bir bileşen çöktü ve derhal müdahale edilmesi gerekiyor
CRITICAL 500 $logger->critical Acil dikkat gerektiren ciddi bir hata oluştu
ERROR 400 $logger->error Bir işlem başarısız oldu ve tamamlanamadı
WARNING 300 $logger->warning Beklenmeyen bir durum meydana geldi ancak yürütme devam etti
NOTICE 250 $logger->notice İzlenmeye değer normal ancak önemli bir olay
INFO 200 $logger->info Genel operasyonel mesajlar; varsayılan düzey
DEBUG 100 $logger->debug Geliştirme ve sorun giderme için ayrıntılı tanılama bilgileri

Standart PHP çıktı fonksiyonlarını kullanma

Yerleşik bir çalışma zamanı kullanmayan işlevler için standart PHP çıktı fonksiyonlarını kullanın. Yerleşik logger'ın aksine, bu yaklaşım yalnızca ham içeriği yazdırır; zaman damgası, istek kimliği veya günlük düzeyi eklenmez.

<?php

function handler($event, $context) {
  var_dump("abcd");
  echo "abcd 2\n";
  fwrite(STDERR, "error\n");
  return 'hello world';
}

Beklenen çıktı:

FunctionCompute php7.2 runtime inited.
FC Invoke Start RequestId: 1-659xxxxx-165xxxxx-455a04xxxxxx
/code/index.php:4:
string(4) "abcd"
abcd 2
error
\nFC Invoke End RequestId: 1-659xxxxx-165xxxxx-455a04xxxxxx

Standart çıktıya veya standart hataya yazan herhangi bir fonksiyon aynı şekilde çalışır.

Günlükleri Görüntüleme

Bir işlev çalıştıktan sonra, Function Compute konsolunda işlevi açın ve Function Details sayfasındaki Logs sekmesine gidin. Çağrılar arasında günlükleri filtrelemek ve sorgulamak için bkz. Çağrı günlüklerini görüntüleme.