2016-06-09 23 views
0

我使用的Node.js寫入到日誌文件,使用colors模塊我相信插入控制字符轉換爲字符串,着色/文本格式,這將在終端應用程序中顯示的控制字符。文件類型和對應的程序,將兌現

當寫到直接終端,它示出了顏色,但是當寫到.log文件,然後尾部或者Terminal.appiterm2日誌文件,它不顯示顏色/文本格式。有人知道這是爲什麼嗎?我的猜測是,當你寫入日誌文件時,控制字符不會被保存?這樣,當拖尾時他們根本不會顯示?

也許,如果我寫的.TXT文件或某些其他類型的文件,控制字符將保持?

這是如何工作的?在某些時候,控制字符被剝離或忽略,我不知道如何或何時。

回答

1

this code

它檢查是否輸出被轉到終端(通過檢查process.stdout.isTTY),或其他地方,例如一個文件。如果是後者,則不輸出顏色代碼。

+0

謝謝,有道理,你碰巧知道tail命令是否可以處理控制字符?或總是要顯示純文本,想知道哪些程序解釋控制字符,哪些不... –

+0

我在這裏看過http://unix.stackexchange.com/questions/196118/prevent-tail-from-修改該終端的字符集 –

+0

你是絕對正確的,我改變了布爾值,並將控制字符放入.log文件中,如果我用非終端應用程序查看日誌文件,我們可以看到控制字符,但使用終端應用程序查看並使用「tail -f」時,字符會被解釋並且我們看不到它們,看起來有點瘋狂 - 如果控制字符實際上意味着顏色編碼背後的情況會怎麼樣? –

相關問題