CRÉER DES FICHIERS DE LOG EN QUELQUES LIGNES

conseildg Messages postés 86 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 18 mars 2007 - 7 oct. 2006 à 08:52
goldenboy7 Messages postés 7 Date d'inscription mercredi 26 novembre 2008 Statut Membre Dernière intervention 27 novembre 2009 - 27 nov. 2009 à 17:10
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/39808-creer-des-fichiers-de-log-en-quelques-lignes

goldenboy7 Messages postés 7 Date d'inscription mercredi 26 novembre 2008 Statut Membre Dernière intervention 27 novembre 2009
27 nov. 2009 à 17:10
Bonjour

Quelqu'un pourrait il préciser ce qu'il faut modifier dans ce code pour l'adapter au VB6 ?
@ Raidwan : peux tu le faire stp ? ca ne devrait pas être trop long !

Merci
cs_Raidwan Messages postés 23 Date d'inscription jeudi 9 septembre 2004 Statut Membre Dernière intervention 10 novembre 2008
13 janv. 2009 à 19:50
@Marech_a :
il suffit de modifier la méthode :
# 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

la ligne : objLog = New log4Raid(Environment.CurrentDirectory + "\logs", "Log")

et de personaliser l'appel en passant des paramètres que vous voulez,

Ensuite pour l'appeler dans votre code, il suffit simplement d'appeler la méthode EcrireLog()

@Le_Nain27 : Ce code date, il est évidant qu'aujourd'hui je n'écrirai pas la même chose, le fait d'écrire un "module" me parait déjà aberrant. Donc pour répondre à votre question, en fait il faut passer la classe statique (ou shared) et gérer l'appel à Ecrirelog via un singleton, pour après utiliser la méthode avec un syntaxe dans le genre : Log4Raid.EcrireLog("test","test")
marech_a Messages postés 4 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 13 janvier 2009
13 janv. 2009 à 16:05
Bonjour,

comment faut-il faire pour implémenter votre code dans un nouveau programme avec Visual Basic 2008 Express?

Merci.
le_nain27 Messages postés 13 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 19 octobre 2006
19 oct. 2006 à 04:52
Radiwan: En déclarant EcrireLog de ta classe en "shared" tu n'aboutis pas au même résultat ?
Jean_Elens Messages postés 53 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 16 octobre 2006
16 oct. 2006 à 16:02
Pas de mal. Le principal est de s'améliorer...
cs_Raidwan Messages postés 23 Date d'inscription jeudi 9 septembre 2004 Statut Membre Dernière intervention 10 novembre 2008
16 oct. 2006 à 14:46
Ok je reviens sur ce que je viens de dire...
Le "option explicit" à ON ne sert strictement à rien dans mon code, si on laisse la propriété du compilateur à ON et mon explication est complètement fausse et totalement basé sur des croyances anciennes mal apprisent manquantes de nombreuses informations....Milles excuses :p
cs_Raidwan Messages postés 23 Date d'inscription jeudi 9 septembre 2004 Statut Membre Dernière intervention 10 novembre 2008
16 oct. 2006 à 14:33
Salut Jean_Elens,

Alors j'explique le pourquoi du "Option Explicit", quand je met "'pour que la procedure soit connu de tous", c'est en fait pour que l'on puisse appeler de n'importe quelle autre classe du projet la procedure ecrireLog() sans avoir à effectuer : LogMod.ecrireLog(), c'est tout, je vois ça comme un moyen de rendre "super public" des procédures ou fonctions qui seront alors aquisent de base dans toutes les autres classes du projet...C'est un peu comme on appel "Option Explicit", pour définir par exemple les variables de configuration d'un programme qui seront accessible à tous...Je me repète un peu là...

Bon donc en gros c'est ça l'idée, aprés le "oblige de déclarer toutes tes variables", ben c'est le cas, sauf que j'utilise un peu la méthode du singleton et qu'il n'y aura qu'un objet Log chargé en mémoire...

En tout merci de soulevé cette question, ça me permet aussi d'être plus clair dans mes choix...enfin j'essais :p
Jean_Elens Messages postés 53 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 16 octobre 2006
15 oct. 2006 à 09:31
Je ne suis pas sur de toutes tes explications. Par exemple, à la première ligne tu dis :
' pour que la procédure soit connu de tous
Option Explicit On

selon moi cette option (par defaut sur ON) oblige de déclarer toutes tes variables. voir site

http://msdn2.microsoft.com/fr-fr/library/y9341s4f.aspx
cs_Raidwan Messages postés 23 Date d'inscription jeudi 9 septembre 2004 Statut Membre Dernière intervention 10 novembre 2008
9 oct. 2006 à 13:56
Pas de mal, ça soulève justement une chose..Peut être que ce n'est pas assez explicite...mais sinon la taille des fichiers par défaut est de 800ko...
il serai aussi facile de faire un fichier de log par jour et par taille...

des petites suggestions...Enfin bon on va pas refaire log4j ... :)
papawemba Messages postés 3 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 9 octobre 2006
9 oct. 2006 à 10:39
désolé, je n'ai pas exploité toutes les configurations de ta classe....
Oups, désolé, j'ai glissé chef ;o)
papawemba Messages postés 3 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 9 octobre 2006
9 oct. 2006 à 10:37
Merci d'avoir partagé ce morceau de code... ;o)

juste une petite suggestion:
lorsque l'on implémante ton code dans une appli qui tourne en 24/24.... avec des logs toutes les 10 minutes... je te laisse imaginer la taille du fichier de log au bout d'un mois :o|

donc ce qui serait interressant, ce serait de tester la taille du fichier et dans créér un second pour eviter les lenteurs....

ou de purger les évènements vieux de x jours...
cs_Raidwan Messages postés 23 Date d'inscription jeudi 9 septembre 2004 Statut Membre Dernière intervention 10 novembre 2008
8 oct. 2006 à 01:23
Je pense que oui... en fait il n'utilise pas vraiment de librairie .Net, c'est juste que c'est une intégration que j'ai faite dans un gros projet que j'ai développé en .Net ... à tester sous VB6
conseildg Messages postés 86 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 18 mars 2007
7 oct. 2006 à 08:52
ce programme peut-il fonctionner en VB6 ?
Merci par avance.
Rejoignez-nous