Какими должны быть ожидаемые издержки при ведении журнала?
Я попробовал этот пример
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()));
}
При максимальных значениях 100 500 000, 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>