Bonjour afin de découvrir log4net je me suis créé une petite application qui simule un annuaire téléphonique. Dans celle-ci j'ai configurer log4net comme ci-dessous :
Fichier AssemblyInfo.vb :
Fichier app.config :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <Assembly: log4net.Config.XmlConfigurator(ConfigFile:="app.config", Watch:=True)>
Et dans une des classes je créé l'objet comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <!-- Cette section contient les informations nécessaires à la configuration de log4net --> <log4net> <appender name="fileAppender" type="log4net.Appender.FileAppender"> <file type="log4net.Util.PatternString" value="logs/Log%date{dd-MM-yyyy}.xml" /> <datePattern value="dd.MM.yyyy'.log'" /> <appendToFile value="true" /> <layout type="log4net.Layout.XmlLayoutSchemaLog4j"> <conversionPattern value="%date{HH:mm:ss} [%thread] %level [%ndc] - %message%newline"/> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <levelMin value="DEBUG" /> <levelMax value="FATAL" /> </filter> </appender> <!--Définie la catégorie racine, son niveau de priorité par défaut et ajoute le(s) sortie(s) (où les textes de débogage vont aller) --> <root> <level value="DEBUG" /> <appender-ref ref="fileAppender" /> </root> <!--Spécifie le niveau de certain namespaces Le niveau peut être : ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF --> <logger name="logger"> <level value="DEBUG"/> <appender-ref ref="fileAppender"/> </logger> </log4net>
Private ReadOnly logger As log4net.ILog = log4net.LogManager.GetLogger( _
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)
Utilisation :
Mon fichier de log et correctement créer et remplit, je peux même visualiser mes logs avec Yalv !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Public Sub FindContact(ByVal searchValue As String) Dim val(,) As String = Nothing Try logger.Debug("Entrée de la méthode FindContact") logger.Info("Recherche d'un contact.") val = _db.Select("Personne", , "NomPrenom LIKE '%" & searchValue & "%'") If val IsNot Nothing Then For i As Integer = 0 To CInt((val.Length / 7) - 1) _contact.Add(New Personne(CLng(val(i, 0)), val(i, 1), val(i, 2), val(i, 3), val(i, 4), val(i, 5), val(i, 6), val(i, 7))) Next End If Catch ex As Exception If TypeOf (ex) Is UnexpectedException Then logger.Fatal(ex.Message) ElseIf TypeOf (ex) Is DbException Then logger.Error(ex.Message) End If Finally logger.Debug("Sortie de la méthode FindContact") End Try End Sub
Cependant, j'ai copié-collé la même configuration qui se trouve dans le AssemblyInfo.vb et app.config
mais mes logs ne se génèrent pas. Là je vous avoue que je sèche. Normalement cette config doit fonctionner
vu qu'elle fonctionne dans mon applic de découverte de log4net.
Partager