PHP konuları oturum

3 Cevap php

Recently I've faced such problem. I'm working on the application, in which logging is very important.

Bu uygulama günlükleri I gibi, mesajlar demek

  • Kullanıcı A (id = x) (fatura no XXX) fatura yarattı (1)
  • Kullanıcı B (id = y) kitabını satın aldı (2)
  • Kullanıcı A (id = x) fatura XXX onayladı (3)

(1) ve (3) belirli bir istek / komuta mesajları - yani ben günlükleri görmek istediğiniz zaman, bu istek günlüğü Konu hakkında tüm bilgileri almak gerekir.

Aşırı yüklü ve ajax bir çok kullanır uygulama nedeniyle, farklı kullanıcılar / işlemleri / istekleri mesaj karışık olabilir log.

Geçici, böyle bu sorunu çözdüm:

Ben isteği bazı benzersiz UUID kod başında yarattı ve bu eşsiz kod ile herhangi bir günlük iletileri Önlerine ettik. Yani, basit bir grep UNIX komut tarafından belirli iplik tüm mesajları bulabilirsiniz.

That solves the problem, but I'm not sure it is the best solution for the task. Looks more like reinventing the wheel. What solutions would you reccomend for this problem?

3 Cevap

Off kafamın üst, birkaç öneri (zaten onları hayata varsa)

  1. Ayrı bir log dosyası içine olayın, her farklı tip log, örneğin BookPurchases.log, InvoiceApprovals.log. İşte bu sınıflandırmaya karşı önemli olaylar dizisi ihtimaline karşı her şeyi bir ham çıktı günlüğüne devam dedi.

  2. Eğer zaten bir tane var yoksa bir günlük paket kullanın, örnekler The Log Package, ya da Zend_Log farklı günlük öncelikleri nerede olabilir.

Bu sizin için herhangi bir kullanım ise ne söylediler oldukça sağlam görünüyor gibi ben, bilmiyorum.

Eğer belirli bir kullanıcı oturumu için tüm günlüklerini görüntülemek için gerekiyorsa kullanın

session_start()

Prepend sonra komut (ler) üstünde ve

session_id()

Her bir günlük mesajın önüne.

Yıllardır Java dünyasında günlüğü için de-facto standart log4j olmuştur. Bu, diğer dillerin bir dizi Log4net, log4Ruby ve log4Php taşıdık olmuştur

Ben log4php kullanılan hiç ama diğer çerçeveler gibi aynı desen / algoritmalar uygular eğer kesinlikle işini yapacak.

Ben bunun kanıtlanmış bir tasarım izler sadece karim79 tarafından önerilen seçeneklerden birini daha iyi olduğunu iddia olmayacaktır.