How can I output log as console.write()
i.e. no newline with NLog?
${message}
defaults to inserting a newline.
How can I output log as console.write()
i.e. no newline with NLog?
${message}
defaults to inserting a newline.
The filetarget has the property LineEnding
which could be set to the following values:
Default
- Insert platform-dependent end-of-line sequence after each line.CR
- Insert CR character (ASCII 13) after each line.CRLF
- Insert CR LF sequence (ASCII 13, ASCII 10) after each line.LF
- Insert LF character (ASCII 10) after each line.None
- Don't insert any line ending.In your case you need None
, so:
<target xsi:type="File"
name="file1"
lineEnding="None"
If you need this in another target, e.g. ConsoleTarget, then that isn't implemented. Please open an issue on GitHub.
You could use the replace new lines layout renderer in your nlog config e.g.:
<target name="HealthLog"
xsi:type="File"
fileName="$C:\Logs\logfile.log"
layout="${date:format=yyyy-MM-dd HH\:mm\:ss.fff} ${level:uppercase=true} ${replace-newlines:${message}}"
/>
Documentation on the replace new lines layout renderer can be found here: https://github.com/NLog/NLog/wiki/Replace-NewLines-Layout-Renderer
I hope I understand your meaning, it seems that you have new line characters in the string you want to write which causes it to go to the new line in the console, if so replace the newline characters with blank string like below.
string Message = "testMessage\r\n";
Console.Write(Message.Replace("\r\n",""));
It seems there is a property named LineEndingMode / LineEnding, which you could try to modify.
© 2022 - 2025 — McMap. All rights reserved.