簡體   English   中英

ReportEvent:記錄的消息一起運行所有行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM