[英]ReportEvent: Logged messages run all lines together
我注意到當使用 ReportEvent 記錄多行消息時,它會刪除所有行尾並將文本一起運行。 例如,我的 MC 文件可能有:
MessageId=
Severity=Informational
SymbolicName=MSG_TEST_MSG
Language=English
Some text
Another line of text.
Last line of text.
.
事件查看器中的消息顯示所有三行同時運行。
如果我將\\r\\n
序列放在插入字符串中的文本中,則這些行尾會正確顯示在記錄的消息中。
此外,如果我使用FormatMessageW
生成上述消息的文本字符串,則行尾會正確包含在文本中。 它們似乎只有在發布到事件查看器時才會被刪除。
我還沒有看到任何關於線端被丟棄在任何地方這一事實的參考。 任何的想法? 這只是它的方式嗎?
謝謝。
您必須使用%n
在消息中強制執行“硬換行”。
來源:
%n
當它出現在一行的末尾時生成一個硬換行符。 這可以與 FormatMessage 一起使用以確保消息適合一定的寬度。
“為什么 FormatMessage 說 %0 在沒有尾隨換行符的情況下終止消息?它是在偷偷添加換行符嗎?” 在這種情況下也可能很有趣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.