2011-11-28 20 views
9

ben ... logger çıkışı için yeni pencereler açarak izin ve üzerinde Kundakçı veya Safari ayıklayıcıya gibi ilgisi yoktur, günlük çıkış için desteği yok platformda JavaScript uygulaması üzerinde çalışıyorumJavaScript AJAX uzaktan logger

Şu ana kadar z-index 2 numaralı telefondan floating <div> kullanıyordum ve içindeki metni kaydettim, ancak bu yeterli değil. Ben

Teşekkürler ... bazı hafif JavaScript JSONP kaydedici ve bazı PHP veya Tomcat sunucusu muadili arıyorum Sten

cevap

13

Geçenlerde N. Zakas bu sunumuyla tökezledi ve teknik orada izah uyguladı. Oldukça basit ama IMHO çok etkilidir

http://www.slideshare.net/nzakas/enterprise-javascript-error-handling-presentation

fikri basitçe bir sunucu tarafı bileşeni için bir çağrı (Ben .net işleyicisi kullanılan ancak aynı zamanda bir php dosyası olabilir) bazı aldığı hazırlamaktır param, param değerlerini kaydedin ve 1x1 görüntü akışını geri döndürün. En çok sevdiğim şey, ajax çağrılarını içermenin gerekmemesi.

function log(severity, message) { 
     var img = new Image(); 
     img.src = "log.php?sev=" + encodeURIComponent(severity) + 
     "&msg=" + encodeURIComponent(message); 
    } 

    log(1, "something bad happened"); 
+0

Vay canına! Oldukça zeki görünüyor, bunun için bazı sunucu tarafı uygulamanız var mı? Bunu gösteren UI betiği olan bazı php/tomcat sunucu uygulaması? Sunucu tarafında da olması güzel olurdu ... – STeN

+0

Maalesef hiçbir php kodu yok, ama oldukça basit olmalı: sadece paramikleri yakala ve günlük işleyicisini çağır. – mamoo

+1

img.src ** = ** "log.php" olması gerektiğine inanıyorum, img.src ** + ** log.php. –

3

kendi sunucu günlüğü barındırma bir alternatif JSConsole.com olabilir: şöyle

sunudan kodudur. JavaScript için genel amaçlı uzak bir hata ayıklayıcısı. Bir dinleyiciyi kaydettirin, oluşturduğu komut dosyasını sayfanıza yapıştırın, ardından herhangi bir cihazda bir örneği tetikleyin. Hata ayıklayıcı iki yönlüdür, bu nedenle günlüğe kaydetme yalnızca JSConsole üzerindeki uzak konsola iletilmez, uzak istemcideki JS ortamına tam erişime sahip olursunuz.