Question

Je suis en train de voir que l'un de ces appenders aurait de meilleurs résultats (plus le temps, mieux).

RollingFileAppender ou ADONetAppender?

Quels sont les autres paramètres que je dois prendre en compte lors du choix d'un appender?

J'ai vu que mon serveur web « détient sur » la rollingfile. Puis-je définir quelque chose comme

<lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 

(référence: section FileAppender log4net documentation ) dans mon appender de fichiers de roulement afin que plusieurs applications / serveurs peut écrire dans le même fichier?

notre serveur DB est dans un lecteur SAN, mais les fichiers journaux serait écrit localement sur le disque dur (ou peut-être un lecteur SAN dans un proche avenir)

Était-ce utile?

La solution

Nous avons plus de chance en utilisant le appender fichier de roulement. Nous avons remarqué que s'il y a un petit problème de réseau, le ADO.NET appender arrête l'exploitation forestière. Par exemple, un redémarrage après service pack installe sur une base hebdomadaire tueraient votre enregistreur.

Gardez à l'esprit que signifie également garder vos journaux sur le même serveur si vous allez avec le fichier appender - http://ferventcoder.com/archive/2009/07/16/log4net-note-always-keep-your- journaux-on-the-même server.aspx

Je ne l'ai jamais vu le mécanisme de verrouillage minimal. Il ne semble que vous devrez payer des pénalités de performances si vous ne l'utilisez: http://logging.apache.org/log4net/release/sdk/log4net.Appender.FileAppender.MinimalLock.html

Autres conseils

Si votre ADONetAppender perd la connexion, il arrêtera l'exploitation forestière, mais avec l'option

  <reconnectonerror value="true" />

il va essayer de se reconnecter.

J'utilise généralement RollingFileAppender sur un disque local - c'est robuste et rapide (si vous ne pouvez pas écrire sur un disque local, vous avez généralement un problème fatal)

.

L'écriture à ADO.NET peut échouer -. Par exemple, si la base de données de journalisation est mis hors ligne à des fins de sauvegarde pendant que votre application est en cours d'exécution

Je voudrais aussi éviter d'utiliser MinimalLock en raison des frais généraux de performance - à la place un fichier journal distinct pour chaque application. Si vous avez besoin de temps en temps pour voir les données du journal consolidé, vous pouvez fusionner les parties pertinentes des journaux, ou simplement ouvrir les côte à côte les parties pertinentes dans un spectateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top