İşlem Çıkışı
ProcessOutput
, ProcessOutputStream
, ProcessOutputBuffer
, ListrLogger'ın konsola yazılan başka bir şey olmamasını sağlamak ve gerektiğinde process.stdout
ve process.stderr
erişimi için bir soyutlama oluşturmak için geçerli stdout
ve stderr
'yi kontrol etmek için kullanılır.
Ele Geçirme
Güncellemeye ihtiyaç duyan DefaultRenderer gibi render için ProcessOutput
, geçerli process.stdout
ve process.stderr
'yi ele geçirme yeteneği sağlayarak, terminale yazmaya çalışan her şeyi depolamak için geçici bir tampon oluşturur, çünkü bu, Listr'ın çıktısını bozar.
Renderer terminal çıktısını ele geçirmeyi talep etmezse, process.stdout
ve process.stderr
doğrudan herhangi bir hile olmadan kullanılacaktır.
Serbest Bırakma
Renderer ProcessOutput'u serbest bıraktığında ve kullanıma hazır olarak işaretlediğinde, yakalanan akışlara gönderilmiş olan her şey dökülecektir. Bu, yüzyıllar boyunca deposunda bir sorunun açılmasının en yaygın nedenini çözmeyi amaçlar; yani çıktının bozulduğunu söylemek ve terminale başka bir şeyin yazılmakta olduğunu fark etmemek.
İşlem Çıktısını Genişletme
Varsayılan ProcessOutput'u, beklediğiniz davranış ile sınıfı genişleterek geçersiz kılabilirsiniz (örn. bir günlük dosyasına yazmak) çünkü ele geçirme fonksiyonunu kullanan veya kullanmayan tüm render'lar, ListrLogger aracılığıyla ProcessOutput'u kullanır. Çoğu durumda, process.stdout
ve process.stderr
için kendi WriteStream
'inizi geçirerek new ProcessOutput()
oluşturmak yeterli olacaktır.
Davranışı Değiştirme
Davranışı Değiştirme için logger'a enjekte ederek ProcessOutput'un davranışını değiştirebilirsiniz. Her render bir seviyede temel logger'ı kullandığı için, bu etkili bir şekilde ProcessOutput'un davranışını değiştirmek için kullanılabilir.
Eğer ProcessOutput'un davranışını beğenmiyorsanız, her zaman kendi uygulamanızı bu arayüz aracılığıyla uygulayıp getirebilirsiniz.
— Kendi Yazılım Ekibiniz
::: details Kod Örneği
<<< @../../examples/docs/renderer/process-output/change-behavior.ts
:::