2015-07-13 19 views
5

Şu anda iojs 2.3.1 kullanan Electron'da şu anda bir uygulama yapıyorum ve yapmak istediğim şey çıktı almaktır. dev araçlar konsolu dosyaya.iojs/electron - Konsoldaki tüm dosyaları çıktı olarak

Düğümün önceki sürümlerinde bu, stdout/stderr'den gelen borular tarafından kullanılabilirdi, bu artık mümkün değil ve hayatımın büyük miktarları değiştirmeyi içeren ve işe yaramayan bir çözüm bulması için yapamıyorum kodun

Bunun için çalışan bir çözüm var mı? Teşekkürler!

cevap

9
:

var output = fs.createWriteStream('./stdout.log'); 
var errorOutput = fs.createWriteStream('./stderr.log'); 
// custom simple logger 
var logger = new Console(output, errorOutput); 
// use it like console 
var count = 5; 
logger.log('count: %d', count); 
// in stdout.log: count 5 

https://iojs.org/api/console.html#console_new_console_stdout_stderr


Görünüşe istisnalar hata günlüğüne baskı yok bakın, bu bir çözüm değildir

Son çalışma sonucu, Winston'u Electr ile çalışması için hızlı bir değişiklik kullanıyordu üzerinde. https://github.com/dustinblackman/winston

DÜZENLEME:

Bu cevap hala görüntülenen gibi, bu çözüm daha iyidir

. https://github.com/dustinblackman/winston-electron

+0

Bunu işe almak için yapmanız gereken değişiklikleri açıklayabilir misiniz? –

+1

Değişiklikler burada bulunabilir. https://github.com/dustinblackman/winston/commit/6564d7cb8f2403f43a14c8e0ffd2a18058cea195 Temel olarak, "process.version" öğesinde elektron sürümünün olup olmadığını kontrol eder. Eğer yaparsa, elektron 'konsol' yöntemlerini kullanır, aksi takdirde 'stdout' veya 'stderr' yazar. Oldukça basit bir yama. – Dustin

+0

Ayrıca, winston'u ana işlemde tanımlayabilir ve paylaşımlı nesneler aracılığıyla oluşturucudan kullanabilirsiniz. –

3

Öyle gibi özel bir konsol oluşturabilirsiniz:

process.on('uncaughtException', function (err) { 
    logger.error('Caught exception: ' + err); 
}); 
+0

Ah bu harika! Ve istisnalar ne olacak? Bir sorunu yeniden oluşturamayacağım diğer kullanıcı makinelerinde en çok kullanılacak. Bu yüzden her şey. – Dustin

+0

@Dustin Sadece onunla oynadım ve öyle görünmüyor. Belki ̶t̶h̶e̶r̶e̶'̶s̶ Geçici bir çözüm via sürecinde programın (̶'̶u̶n̶c̶a̶u̶g̶h̶t̶E̶x̶c̶e̶p̶t̶i̶o̶n̶'̶) ̶? ̶ Play ile Bazı ̶m̶o̶r̶e̶.̶ bir çözüm yoktur. Bkz. Düzenle –

İlgili konular