IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Fichier app.config et bibliothèque de classes


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2008
    Messages : 125
    Points : 45
    Points
    45
    Par défaut Fichier app.config et bibliothèque de classes
    Bpnjour a tous,

    J'ai un petit souci car d'habitude, je créé un fichier app.config afin de pouvoir loguer mes actions dans un fichiers de logs. Mais la, j'utilise une bibliothèque de classe au lieu d'une application winform et les logs ne fonctionnent pas

    Quelqu'un aurait une idée svp ?

    Voici mon app.config

    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
    34
    <?xmlversion="1.0"encoding="utf-8" ?>
    <configuration>
    <system.diagnostics>
    <sources>
    <!-- Cette section d‚finit la configuration de l'enregistrement dans le fichier journal de My.Application.Log -->
    <sourcename="DefaultSource"switchName="DefaultSwitch">
    <listeners>
    <addname="FileLog"/>
    <!-- Supprimez les marques de commentaire dans la section suivante pour ‚crire dans le journal des ‚v‚nements de l'application -->
    <!--<add name="EventLog"/>-->
    </listeners>
    </source>
    <sourcename="Arcam"switchType="System.Diagnostics.SourceSwitch"switchValue="Information">
    <listeners>
    <addname="EcouteurSurFichier"initializeData="logs.txt"type="System.Diagnostics.TextWriterTraceListener"traceOutputOptions="DateTime,ThreadId,ProcessId"></add>
    <addname ="ArkTs"initializeData ="ArkTs"type="System.Diagnostics.EventLogTraceListener">
    <filtertype ="System.Diagnostics.EventTypeFilter"initializeData ="Critical"></filter>
    </add>
    </listeners>
    </source>
    </sources>
    <switches>
    <addname="DefaultSwitch"value="Information" />
    </switches>
    <sharedListeners>
    <addname="FileLog"
    type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
    initializeData="FileLogWriter"/>
    <!-- Supprimez les marques de commentaire dans la section suivante et remplacez APPLICATION_NAME par le nom de votre application … inscrire dans le journal des ‚v‚nements de l'application -->
    <!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
    </sharedListeners>
    </system.diagnostics>
    </configuration>
    et voici le module que j'uitilise :

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    Imports System.Net
    Imports System.Management
    Imports System.Data
    Module ArkMod
    'D‚claration de l'‚couteur pour les logs
    Public ArkTS As TraceSource
    'R‚cup‚ration de l'ID de l'utilisateur
    Public UserId AsInteger = 0
    PublicSub WriteLog(ByVal Type AsInteger, ByVal MsgLog AsString, ByVal login AsString)
    Dim nomDNS AsString = System.Net.Dns.GetHostEntry("localhost").HostName
    Dim adresseIp AsString = getIpAddress(nomDNS)
    Dim heure AsString = Date.Now
    ArkTS = New TraceSource("ArkTS")
    Dim strMACAddress AsString = getMacAdress()
    SelectCase Type
    Case 1
    ArkTS.TraceEvent(TraceEventType.Information, 1, "Utisateur: " & login & " | Machine: " & nomDNS & "\" & adresseIp & " | Mac : " & strMACAddress & " | " & MsgLog)
    Case 2
    ArkTS.TraceEvent(TraceEventType.Error, 2, "Utisateur: " & login & " | Machine: " & nomDNS & "\" & adresseIp & " | Mac : " & strMACAddress & " | " & MsgLog)
    Case 3
    ArkTS.TraceEvent(TraceEventType.Critical, 3, "Utisateur: " & login & " | Machine: " & nomDNS & "\" & adresseIp & " | Mac : " & strMACAddress & " | " & MsgLog)
    Case 4
    ArkTS.TraceEvent(TraceEventType.Warning, 4, "Utisateur: " & login & " | Machine: " & nomDNS & "\" & adresseIp & " | Mac : " & strMACAddress & " | " & MsgLog)
    EndSelect
    ArkTS.Flush()
    ArkTS.Close()
    EndSub
    'Fonction de remplacement des caractŠres "'" dans l'insertion de PostgreSQL
    Function NewMsg(ByVal chaine AsString) AsString
    'Si il detecte un apostrophe dans la string
    If InStr(chaine, "'") <> 0 Then
    'alors on le remplace avec double apostrophe
    NewMsg = Replace(chaine, "'", "''")
    Return NewMsg
    Else
    Return chaine
    EndIf
    EndFunction
    PublicFunction getIpAddress(ByVal host AsString)
    Dim adresse AsString
    Dim IP As IPHostEntry
    IP = Dns.GetHostEntry(host)
    If Environment.OSVersion.VersionString.Contains("6.0") Then
    adresse = IP.AddressList(1).ToString
    Return adresse
    ElseIf Environment.OSVersion.VersionString.Contains("5.1") Then
    adresse = IP.AddressList(0).ToString
    Return adresse
    Else
    adresse = IP.AddressList(0).ToString
    Return adresse
    EndIf
    EndFunction
     
    PublicFunction getMacAdress()
    Try
    Dim strMACAddress AsString = ""
    ' Create the query, in SQL syntax, to retrieve the properties from
    ' the active Network Adapter.
    Dim strQuery AsString = _
    "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True"
     
    ' Create a ManagementObjectSearcher object passing in the query to run.
    Dim query As ManagementObjectSearcher = New ManagementObjectSearcher(strQuery)
     
    ' Create a ManagementObjectCollection assigning it the results of the query.
    Dim queryCollection As ManagementObjectCollection = query.Get()
     
    ' Loop through the results extracting the MAC Address.
    Dim mo As ManagementObject
    ForEach mo In queryCollection
    strMACAddress = mo("MacAddress").ToString().Replace(":", "")
    ExitFor
    Next
    Return strMACAddress
    Catch ex As Exception
    Return""
    EndTry
    EndFunction
     
    EndModule
    Je fais donc appel à l'écriture du log comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WriteLog(1, "Démarrage de l'application : " & Date.Now.ToString("HH:mm:ss"), Environment.UserName)
    Mais dans cette situation, les logs ne sont pas écrits...
    je ne sais pas pourquoi, quelqu'un aurait une idée svp ?

    Merci pour vos réponses.

  2. #2
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2008
    Messages : 125
    Points : 45
    Points
    45
    Par défaut
    Après quelques recherches, je vois souvent revenir les termes de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ConfigurationManager.OpenExeConfiguration
    Mais j'ai du mal à comprendre dans mon contexte.
    peut être que je me trompe de piste...

Discussions similaires

  1. Fichier App.Config d'une bibliothèque de classes
    Par Poussy-Puce dans le forum C#
    Réponses: 2
    Dernier message: 25/04/2008, 20h19
  2. Fichier app.config et mises à jour ClickOnce.
    Par Shypster dans le forum C#
    Réponses: 13
    Dernier message: 18/03/2008, 15h20
  3. Réponses: 2
    Dernier message: 04/06/2006, 18h19
  4. Réponses: 9
    Dernier message: 04/05/2006, 17h33
  5. [VB.Net] Fichier app.config
    Par tomnie dans le forum Windows Forms
    Réponses: 24
    Dernier message: 28/03/2006, 10h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo