Производительность NLog

Каковы ожидаемые накладные расходы на ведение журнала? Я пробовал этот пример

 private class Person
 {
    private static Logger logger = LogManager.GetCurrentClassLogger();
    public string Name { get; private set; }
    public Person(string name)
       {
           Name = name;
           logger.Info("New person created with name {0}", name);
       }
  }

  List<Person> people = new List<Person>();
  for (int i = 0; i < MAXTEST; i++)
  {
      people.Add(new Person(i.ToString()));
  }

со значениями MAXTEST 100,500,1000, 5000

Результаты в MAXTEST, noLogging, Logging

100,  25ms, 186ms    
500,  33ms, 812ms    
1000, 33ms, 1554ms
5000, 33ms, 7654ms

Допустим, никто, вероятно, никогда не будет регистрировать такое чрезмерное количество, но можно ли ожидать такого снижения производительности?

Я также пробовал использовать asyncwrapper в конфигурации

 <target name="asyncFile" xsi:type="AsyncWrapper">
   <target name="file" xsi:type="File" fileName="${basedir}/log.txt" />
 </target>
47
задан wonea 10 January 2018 в 11:57
поделиться