Accueil > > > CRÉER DES FICHIERS DE LOG EN QUELQUES LIGNES
CRÉER DES FICHIERS DE LOG EN QUELQUES LIGNES
Information sur la source
Description
Ce code est trés simple et vous permet de créer des fichiers de log trés trés facilement. Il est facilement amèliorable selon les besoins... On a ici la classe et un exemple d'utilisation.
Source
- ' importatation du module E/S
- Imports System.IO
-
- Module LogMod
-
- 'objet de log qui sera unique (singleton)
- Private objLog As log4Raid
-
- 'procédure qui sera appeler pour ecrire dans un fichier log (exemple)
- Public Sub EcrireLog(ByVal type As String, ByVal texte As String)
- If (objLog Is Nothing) Then
- objLog = New log4Raid(Environment.CurrentDirectory + "\logs", "Log")
- End If
- objLog.EcrireLog(type, texte)
- End Sub
-
-
-
- 'classe de log
- Private Class log4Raid
- 'format de la date
- Private date_format As String
- 'chemin vers le dossier des logs
- Private path As String
- 'nom de base des fichiers de log
- Private base_name As String
- 'longeur max avant de changer de numéro de fichier
- Private file_length As Long
-
- Public Sub New(ByVal p_path As String, ByVal p_base_name As String, Optional ByVal p_file_length As Long = 800000, Optional ByVal p_date_format As String = "dd/MM/yyyy hh:mm:ss")
- path = p_path
- base_name = p_base_name
- file_length = p_file_length
- date_format = p_date_format
- End Sub
-
- Public Sub EcrireLog(ByVal type As String, ByVal texte As String)
- Try
- 'recherche du nom de fichier
- 'liste des fichiers du repertoire
- Dim fichiers() As String = Directory.GetFiles(path, "*.txt")
- 'definition du nom du fichier
- Dim nomFichier As String = ""
- ' trie des fichiers par ordre alphabétique
- Array.Sort(fichiers)
- 'si on a au moins un fichiers
- If (fichiers.Length > 0) Then
- ' le nom du fichiers sera (temporairement) le dernier de la liste
- nomFichier = fichiers(fichiers.Length - 1)
- 'récupération des informations du fichier
- Dim fi As New FileInfo(nomFichier)
- 'si le fichier est supérieur à la taille max on remer le nom du fichier à vide
- If (fi.Length > file_length) Then
- nomFichier = ""
- End If
- End If
-
- ' si le nom du fichier est vide on va créer un nouveau fichier
- If nomFichier = "" Then
- nomFichier = path + "\" + base_name + "_" + CStr(fichiers.Length) + ".txt"
- End If
- 'ouverture d'un lien vers le fichier
- Dim LogStream As New StreamWriter(nomFichier, True, System.Text.Encoding.UTF8)
- 'ecriture sur le fichier
- LogStream.WriteLine(Format(Now(), date_format) + ": " + type + " : " + texte)
- 'fermeture du lien vers le fichier
- LogStream.Close()
- Catch ex As Exception
- 'erreur, impossible d'ecrire dans le fichier
- MsgBox("Erreur d'écriture dans les fichiers LOG : " + ex.Message)
- End Try
- End Sub
- End Class
- End Module
' importatation du module E/S
Imports System.IO
Module LogMod
'objet de log qui sera unique (singleton)
Private objLog As log4Raid
'procédure qui sera appeler pour ecrire dans un fichier log (exemple)
Public Sub EcrireLog(ByVal type As String, ByVal texte As String)
If (objLog Is Nothing) Then
objLog = New log4Raid(Environment.CurrentDirectory + "\logs", "Log")
End If
objLog.EcrireLog(type, texte)
End Sub
'classe de log
Private Class log4Raid
'format de la date
Private date_format As String
'chemin vers le dossier des logs
Private path As String
'nom de base des fichiers de log
Private base_name As String
'longeur max avant de changer de numéro de fichier
Private file_length As Long
Public Sub New(ByVal p_path As String, ByVal p_base_name As String, Optional ByVal p_file_length As Long = 800000, Optional ByVal p_date_format As String = "dd/MM/yyyy hh:mm:ss")
path = p_path
base_name = p_base_name
file_length = p_file_length
date_format = p_date_format
End Sub
Public Sub EcrireLog(ByVal type As String, ByVal texte As String)
Try
'recherche du nom de fichier
'liste des fichiers du repertoire
Dim fichiers() As String = Directory.GetFiles(path, "*.txt")
'definition du nom du fichier
Dim nomFichier As String = ""
' trie des fichiers par ordre alphabétique
Array.Sort(fichiers)
'si on a au moins un fichiers
If (fichiers.Length > 0) Then
' le nom du fichiers sera (temporairement) le dernier de la liste
nomFichier = fichiers(fichiers.Length - 1)
'récupération des informations du fichier
Dim fi As New FileInfo(nomFichier)
'si le fichier est supérieur à la taille max on remer le nom du fichier à vide
If (fi.Length > file_length) Then
nomFichier = ""
End If
End If
' si le nom du fichier est vide on va créer un nouveau fichier
If nomFichier = "" Then
nomFichier = path + "\" + base_name + "_" + CStr(fichiers.Length) + ".txt"
End If
'ouverture d'un lien vers le fichier
Dim LogStream As New StreamWriter(nomFichier, True, System.Text.Encoding.UTF8)
'ecriture sur le fichier
LogStream.WriteLine(Format(Now(), date_format) + ": " + type + " : " + texte)
'fermeture du lien vers le fichier
LogStream.Close()
Catch ex As Exception
'erreur, impossible d'ecrire dans le fichier
MsgBox("Erreur d'écriture dans les fichiers LOG : " + ex.Message)
End Try
End Sub
End Class
End Module
Historique
- 05 octobre 2006 10:39:40 :
- Mise à jour : corrections diverses
- 16 octobre 2006 14:43:11 :
- rectification du code et commentaire
- 16 octobre 2006 14:57:57 :
- ...
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Problème pour renommer un fichier avant de l'envoyer par mail [ par mistermail ]
Bonjour, Voila j'aimerais renommer les fichiers présents dans un répertoire avant de les envoyer par mail. Je ne vois pas où se trouve le prob
fso move file URGENT [ par hujikole ]
je n'arrive pas a deplacer un fichier qui se trouve sur un autre ordinateur une erreur me dit "permission refusé" alos que le fichier de l'autre ordin
CREER UN FICHIER LOG [ par gianfa ]
HELLO J'AI VOULUR CREER UN FICHIER LOGMAIS CE QUE JE N'ARRIVE PAS à FAIRE C'EST D'INDIQUER LE NOMBRE DE FOIS QUE L'UTILISATEUR à ACCEDER à MON PROGRAM
*URGENT* Programme & DLLs en 1 seul file [ par Jo Ace ]
Je voudrais réunir mon programme et les DLL de VB en 1 seul fichier en faisant en sorte que quand on ouvre ce fichier mon programme se lance (donc for
Access et Resource File [ par AtomixSnake ]
Salut,Est-il possible de charger un fichier mdb(Access) depuis un Res(Resource File) et l'utiliser avec la commande "DAO.Workspaces(0).OpenDatabase" p
[size=5]LIGNE de commande[/size=5] [ par nilufacou ]
Mon application a une ligne de commande comme ci dessous :app.exe ~file$Je voudrais que cette ligne de commande se lance lors d'1 click roit sur 1 fic
Comment creer le fichier log d'une appli ? [ par Rmano ]
Salut !J'aimerais savoir comment creer un fichier log pour une appli. Je voudrais savoir comment faire pour recupérer certaines erreurs (exple : il ya
Executer un fichier non .exe ??? [ par wico2002 ]
Je me fais un autorun pour mes .exe et j'ai un probleme. j'écris: fichier = app.Path & file.fileName shell fichier,vbNormalFocusle file.fileName ren
impression avec l'option file de l'imprimante [ par muzza ]
Dans les proprietes de l'imprimante on a la possibilité d'imprimer non pas sur le port lpt1 mais dans un fichier (option file).Le probleme qui se pose
fichier log [ par smoron ]
salut!j utilise un fichier de LOG (dll ARLOG) pour un programme.une fois le log rempli je dois le vider ligne par ligne.cest ca que je ne sais pas fa
|
Derniers Blogs
INTéGRATION YAMMER ET SHAREPOINT ONLINE (OFFICE 365), éTAPE 1 .INTéGRATION YAMMER ET SHAREPOINT ONLINE (OFFICE 365), éTAPE 1 . par Patrick Guimonet
#Yammer Certains s'en sont déjà fait l'écho (ici en allemand par exemple : Yammer Integration in Office 365 Phase 1) ou bien sûr sur le blog SharePoint : Make Yammer your default social network in Office 365 en anglais. Mais c'e...
Cliquez pour lire la suite de l'article par Patrick Guimonet [DYNAMICS CRM] AJOUTER LES DOSSIERS DE CRM AU DOSSIER FAVORIS D'OUTLOOK[DYNAMICS CRM] AJOUTER LES DOSSIERS DE CRM AU DOSSIER FAVORIS D'OUTLOOK par bianca
Objectif
Pour aller plus rapidement dans les menus de Dynamics CRM depuis votre client CRM pour Outlook, vous pouvez utiliser le dossier des Favoris d'Outlook. En effet, par simple glisser/déplacer, vous pouvez déposer un éléme...
Cliquez pour lire la suite de l'article par bianca VISUAL STUDIO 2013VISUAL STUDIO 2013 par Etienne Margraff
Ahh, ENFIN ! c'est officiel, il va y avoir un VS et un TFS 2013. De nouvelles fonctionnalités qui vont à mon sens assoir la maturité de TFS qui est maintenant l'outil incontournable pour tout projet (.NET, mais pas seulement !). Si vous n'avez pas jet...
Cliquez pour lire la suite de l'article par Etienne Margraff CONFIGURER LA COLLATION SQL SERVER POUR SHAREPOINT CONFIGURER LA COLLATION SQL SERVER POUR SHAREPOINT par JeremyJeanson
Note : Je poste cet article à titre de pense-bête. Cela fait des années que je me trimballe avec une capture d'écran, car je ne me rappel jamais comment choisir la collation d'un SQL Server pour SharePoint. Pour SharePoint, il est conseillé de choisir la ...
Cliquez pour lire la suite de l'article par JeremyJeanson ETENDRE LE TEAM WEB ACCESS DE TFS 2012 - STEP 1: CRéATION DU PLUGINETENDRE LE TEAM WEB ACCESS DE TFS 2012 - STEP 1: CRéATION DU PLUGIN par Philess
Dans cet article nous allons créer un plugin installable sur le Team Web Access qui s'intègrera dans l'architecture du site et se chargera au moment où on le décidera.
Avant de lire ce billet et si cela n'est pas encore fait j...
Cliquez pour lire la suite de l'article par Philess
Forum
NOVICE EN VBANOVICE EN VBA par serresarmand
Cliquez pour lire la suite par serresarmand RE : PETITE QUESTIONRE : PETITE QUESTION par Wolfplayer97
Cliquez pour lire la suite par Wolfplayer97 RE : PETITE QUESTIONRE : PETITE QUESTION par Wolfplayer97
Cliquez pour lire la suite par Wolfplayer97
Logiciels
Nego Facturation (1.85)NEGO FACTURATION (1.85)Nego Facturation est un logiciel complet qui permet de gérer vos factures et devis très simplemen... Cliquez pour télécharger Nego Facturation Devis-Factures PHMSD (2.2.0.1)DEVIS-FACTURES PHMSD (2.2.0.1)Configuration minimale
Nécessite Windows™ 2000, XP, Windows 7, 8, Vista (Service Pack à... Cliquez pour télécharger Devis-Factures PHMSD WDmemoCode (2.0.0.1)WDMEMOCODE (2.0.0.1)WDmemoCode a été conçu pour aider les développeurs Windev à créer/compléter et conserver une base... Cliquez pour télécharger WDmemoCode ProtoMedic (4.0.0.11)PROTOMEDIC (4.0.0.11)ProtoMedic est un logiciel destiné principalement aux médecins généralistes.
ProtoMedic permet d... Cliquez pour télécharger ProtoMedic MyCurriculum 2011 (7.4.1.12)MYCURRICULUM 2011 (7.4.1.12)Rédigez votre Curriculum Vitae mais également ceux de votre famille ou de vos amis très facilemen... Cliquez pour télécharger MyCurriculum 2011
|