我不希望 nlog 每毫秒创建一个日志文件

I dont want nlog to create log file for every millisec

我正在使用以下配置。这会为每毫秒创建一个日志文件。 我每次执行只需要一个日志文件,它应该带有时间戳

<?xml version="1.0" encoding="utf-8"?>

<configuration>
 <configSections>
 <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
</configSections>


<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<targets>
      <target name="logfile" xsi:type="File"    fileName="C:\log\log-     ${date:format=dd/MM/yyyy HH\:mm\:ss}.txt"></target>   
</targets>

<rules>
  <logger name="*" minlevel="Info" writeTo="logfile" />
</rules>

唯一的方法是以编程方式设置文件名。

例如

var logfileTarget = NLog.LogManager.Configuration.FindTargetByName<FileTarget>("logfile");
logfileTarget.FileName = "filename_with_date_and_ext"; //you can use layout renderers here.

API docs

已为 processinfo-layout-renderer 提交 PR,因此它可以以所需格式输出 process-start-time。但它只支持本地时间

fileName="C:\log\log-${processinfo:property=StartTime:format=yyyy-MM-dd_HHmmss}.log"