Qu'est-ce que vous avez dans votre configuration log4net? Hacks, optimisations, observations?
C'est mon log4net fichier de config
<?xml version="1.0" encoding="utf-8" ?>
<log4net debug="true">
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
<filter type="log4net.Filter.LevelRangeFilter">
<acceptOnMatch value="true" />
<levelMin value="DEBUG" />
<levelMax value="FATAL" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %5rms [%-17.17t] %-22.22c{1} %-18.18M - %m%n" />
</layout>
</appender>
<appender name="SmtpAppender" type="MySmtpClientSmtpAppender">
<to value="[email protected]" />
<from value="[email protected]" />
<subject value="Game Server Monitoring Failed!" />
<smtpHost value="smtp.x.com" />
<username value="admin" />
<password value="x" />
<bufferSize value="256" />
<lossy value="true" />
<evaluator type="log4net.spi.LevelEvaluator">
<threshold value="ERROR" />
</evaluator>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %d [ThreadId: %t] Class:%c{1} Method:%M %nMESSAGE:%n%m%n%n" />
</layout>
</appender>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="Logs\\wwwlog" />
<appendToFile value="true" />
<datePattern value="yyyyMMdd" />
<maximumFileSize value="10MB" />
<!--<rollingStyle value="Date" />-->
<filter type="log4net.Filter.LevelRangeFilter">
<acceptOnMatch value="true" />
<levelMin value="INFO" />
<levelMax value="FATAL" />
</filter>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="MySmtpAppender" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
Ai-je raté quelque chose? Des astuces/conseils pour diminuer la taille du journal, tout en conservant la clarté, une meilleure conversion des motifs? Intéressante hacks?
Edit: fichier XMl n'a pas entrer dans le bloc de code.La mise à jour. Tout sugggestions?
source d'informationauteur Cherian
Vous devez vous connecter pour publier un commentaire.
Une suggestion pour la RollingLogFileAppender est d'utiliser le minimum de lockingModel. Avec ce paramètre, le fichier journal n'est pas verrouillé, il est plutôt ouvert, puis fermé pour chaque écriture.
Personne n'a mentionné l'encodage. C'est assez important si vous êtes à la journalisation des messages en Chinois, le Japonais, l'arabe ou le double-octet de la langue.
Voici un exemple:
Pour la connexion avec différentes couleurs lors de l'affichage sur la console en fonction du niveau de message (debug, info, erreur ou mortels). La deuxième appender est de l'enregistrer sur un fichier:
Pour réduire la taille du fichier journal, vous pouvez essayer le réglage de la ConversionPattern:
voici le format que j'utilise:
AVANT:
2012-06-05 10:58:40,819 [1] INFO Mon Application [(null)] - Mon App - ===étoile
ting....
APRÈS:
06/05 11:17:29,151-{INFO}-Mon App - ===départ...
remarque: la documentation de Apache semble être incorrect pour log4net - comme il est dit d'utiliser SSS pour millisecondes, alors que log4net utilise fff
Une petite économie par ligne pourrait faire une grande différence dans l'ensemble 🙂
Je lance un assez minime log4net configuration et préfèrent utiliser le format XML, mais une chose que je vous suggère d'ajouter (pour les applications web) est la ASP.NET trace appender. Il vous suffit d'ajouter le texte suivant:
Puis vers le bas à la racine de votre enregistreur, ou partout où vous décidez de l'activer:
Cela me permet de profiter de toutes mes pertinente des données de débogage ensemble sur une seule page, quand je suis à une minute de débogage ASP.NET des détails. La plupart du temps j'ai l'ASP.NET trace appender commentée de le désactiver, mais a vraiment aidé dans quelques cas, surtout quand vous êtes à essayer de comprendre ce serveur particulier post de retour de la méthode est à l'origine du raccrochage dans votre application.
Cela peut aider un peu, selon le degré de similitude de log4j et log4net sont, je pense qu'ils sont basés sur le même cahier des charges, mais je ne sais pas pour sûr.
Eh bien, je ne peux pas vous dire ce que j'ai dans mon log4net de config, mais je peux vous dire ce que j'ai dans mon log4j config si c'est assez bon...
Aussi, j'ai un correspondant à la tronçonneuse fichier de configuration:
Aussi, voici quelques informations qui peuvent vous aider à attirent l'attention à ce fichier:
http://wiki.apache.org/logging-log4j/Configuring_a_log4j_RollingFileAppender_with_Chainsaw