2011-06-17 15 views
10

Terminalde yankılandıran iletilerden gelen mesajları nasıl devre dışı bırakabilirim?Web kanalından yankılanmayı devre dışı bırakma

localhost: benziyor mesajları devre dışı bırakmak için

s = WEBrick::HTTPServer.new(
    Port: 3000, 
    BindAddress: "localhost", 
    Logger: WEBrick::Log.new("/dev/null"), 
) 

Ama daha da istiyorum: başında görünen INFO mesajlar için ben şekilde Logger parametresini ayarlayarak iptal başardı - - [17// 2011 Haziran: 10: 01: 38 EDT] 200 0 http://localhost:3000/ ".... HTTP/1.1 GET" -> .....

bir istek oluşurken ağ tarayıcı.

+0

deneyin, ben [kaynak kodu] (http://www.ruby-doc.org/stdlib/libdoc/webrick/rdoc görebileceğiniz gibi uzak /classes/WEBrick/HTTPServer.html#M009708). –

+0

@Yet Başka Bir Geek İkisini de yanlış olarak ayarlamayı denedim, sonra da sıfırlamaya çalıştım ama işe yaramadı. – sawa

+0

@Yet Başka Bir Geek. Onu [nil, nil] olarak ayarladığımda çalıştı. Bağlantınız yardımcı oldu. Teşekkürler. – sawa

cevap

17

source ile ilgili öneri ve Yet Another Geek tarafından önerilen öneriyi takiben, bir yol bulmayı başardım. parametresini [nil, nil] [] (Robert Watkins'in aşağıdaki önerisi değiştirildi) olarak ayarlayın. yapılandırma parametreleri false ACCESSLOG ayarı

s = WEBrick::HTTPServer.new(
    Port: 3000, 
    BindAddress: "localhost", 
    Logger: WEBrick::Log.new("/dev/null"), 
    AccessLog: [], 
) 
+1

Aslında AccessLog için boş bir dizi geçirmeden daha iyi durumdasınız - ör. AccessLog: [] Nils geçirme, hata günlüklerini/dev/null adresine gönderdiğinizi göremediğiniz bir hatayla sonuçlanır. –

+1

'Logger: WEBrick :: Log.new (File.open) Çapraz platform çözümü için File :: NULL, 'w')) ' – ens

İlgili konular