Logging in multiple files using NLog
I think you need to define another logger.
<logger name="SpecialLogger" minlevel="Trace" writeTo="logfile2" />
To log to it:
var logger = LogManager.GetLogger("SpecialLogger");
If you want a separate file to log information from another part of your program, you can add a logger and another target.
For example, if you have a program that is completing two different tasks and you want to log those tasks separately, you could do the following
<targets>
<target
name="task1File"
xsi:type="File"
layout="${message}"
fileName="${basedir}../Data/debugLog1.txt"
archiveAboveSize ="5000000"
maxArchiveFiles="2"/>
<target
name="task2File"
xsi:type="File"
layout="${message}"
fileName="${basedir}../Data/debugLog2.txt"
archiveAboveSize ="5000000"
maxArchiveFiles="2"/>
</targets>
<rules>
<logger name="task1Logger" minlevel="Trace" writeTo="task1File" />
<logger name="task2Logger" minlevel="Trace" writeTo="task2File" />
</rules>
Then, in your program, access them with:
var task1Logger = NLog.LogManager.GetLogger("task1Logger")
var task2Logger = NLog.LogManager.GetLogger("task2Logger")