Quels sont les frais généraux prévus pour l'enregistrement ? J'ai essayé cet exemple
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()));
}
Avec des valeurs MAXTEST de 100, 500, 1000, 5000
Résultats dans MAXTEST, noLogging, Logging
100, 25ms, 186ms
500, 33ms, 812ms
1000, 33ms, 1554ms
5000, 33ms, 7654ms
Il est vrai que l'on n'enregistrerait probablement jamais une telle quantité de données, mais s'agit-il de l'impact sur les performances auquel on s'attendrait ?
J'ai également essayé d'utiliser l'asyncwrapper dans la configuration
<target name="asyncFile" xsi:type="AsyncWrapper">
<target name="file" xsi:type="File" fileName="${basedir}/log.txt" />
</target>