将 \t、换行符和回车符 return 写入来自 windows 服务的 windows 事件日志
Writing \t, line feed and carriage return to windows event log from a windows service
我有一个 windows 内置在 .NET 和 VB.NET 中的服务。我正在将日志写入 windows 事件日志,但我无法向其写入 \t、换行和回车 return。
我有如下字符串:
Dim myMessage As String = "Parameters read: \n\n"
myMessage += "\t\tParamA: " + paramA
myMessage += "\t\tParamB: " + paramB
日志已写入事件日志,但未应用 \t 和 \n。它显示为单行字符串:
"Parameters read: \n\n\t\tParamA: 2\t\tParamB: 4"
我试过用 %t 代替 \t 和 %n 代替 \n 但它不起作用:
Dim myMessage As String = "Parameters read: %n%n"
myMessage += "%t%tParamA: " + paramA
myMessage += "%t%tParamB: " + paramB
要写入事件日志,我会执行以下操作:
System.Diagnostics.EventLog.WriteEntry(myMessage, System.Diagnostics.EventLogEntryType.Information, 1)
有什么想法吗?
您应该使用 ControlChars
class 及其 Tab
、Cr
、Lf
和 CrLf
属性。它们是 VB.NET 运行时的一部分,特别是因为 VB 不像 C# 那样支持 C 风格的转义序列。
我有一个 windows 内置在 .NET 和 VB.NET 中的服务。我正在将日志写入 windows 事件日志,但我无法向其写入 \t、换行和回车 return。
我有如下字符串:
Dim myMessage As String = "Parameters read: \n\n"
myMessage += "\t\tParamA: " + paramA
myMessage += "\t\tParamB: " + paramB
日志已写入事件日志,但未应用 \t 和 \n。它显示为单行字符串:
"Parameters read: \n\n\t\tParamA: 2\t\tParamB: 4"
我试过用 %t 代替 \t 和 %n 代替 \n 但它不起作用:
Dim myMessage As String = "Parameters read: %n%n"
myMessage += "%t%tParamA: " + paramA
myMessage += "%t%tParamB: " + paramB
要写入事件日志,我会执行以下操作:
System.Diagnostics.EventLog.WriteEntry(myMessage, System.Diagnostics.EventLogEntryType.Information, 1)
有什么想法吗?
您应该使用 ControlChars
class 及其 Tab
、Cr
、Lf
和 CrLf
属性。它们是 VB.NET 运行时的一部分,特别是因为 VB 不像 C# 那样支持 C 风格的转义序列。