2012-02-18 79 views
0

我們使用apache commons在我們的應用程序中記錄所有日誌記錄要求。 本週有一個有趣的用例,我有一個問題。 我們開始接收來自客戶端的FIX消息,其中基於客戶端應用程序上的免費表單textarea中的值填充修復消息中的特定字段。客戶端可以輸入他們想要的任何文本,包括特殊字符和新行等。Apache Commons Logging - New Line Charachters

我們記錄了我們收到的修復信息,但是當我們收到一個包含此標籤的新FIX消息時,只有修復消息的部分直到新行charachter被記錄。無論如何要告訴日誌框架忽略新的線路字符並記錄整個字符串,不管它是否包含新的線路字符?

感謝 達明

回答

1

你確定沒有被記錄在新行的消息?我們做了類似的事情,並且沒有任何額外配置就記錄了新行。您是否在日誌中查看這些行以查看它們?我問,因爲他們將顯示在一個新的行,因此不會在grep的輸出,除非你添加'-A 5'(或你想看多少行)標記到你的grep語句,看到後面的新行匹配一個。

+0

感謝您的回覆,是的,它被記錄在一個單獨的行,但我希望我們可以讓它登錄1行。這種行爲可以接受你的應用程序? – Damien 2012-02-18 18:50:50

+0

我明白了,對於我們來說這是可以接受的,因爲新行的日誌輸出僅用於調試。但是我可以看到如果將這些日誌用於分析將會如何。我知道這是代碼中的額外工作,但是您是否考慮在記錄之前用非換行字符串(例如'\\ n')替換換行符,並且在您讀取日誌以進行分析時反向替換? – 2012-02-18 18:54:47

+0

是的,我在想同樣的事情。可能值得擴展當前的appender,我們使用這個appender來刪除所有日誌語句中的新線路字符 – Damien 2012-02-18 18:58:06

相關問題