Créer un nouveau fichier journal chaque jour
Comme le titre le suggère comment puis-je créer un nouveau fichier journal chaque jour en C#? Maintenant, le programme peut ne pas nécessairement toute la journée et de la nuit mais seulement obtenir invoquée pendant les heures d'affaires. J'ai donc besoin de faire deux choses.
- Comment puis-je créer un nouveau fichier journal chaque jour? Le fichier journal sera le nom dans un format comme MMDDYYYY.txt
- Comment puis-je la créer, juste après minuit, dans le cas où il est en cours d'exécution dans toutes les heures de la nuit?
source d'informationauteur Jason T.
Vous devez vous connecter pour publier un commentaire.
Cet exemple montre comment configurer le RollingFileAppender à rouler les fichiers journaux sur une période. Cet exemple va rouler le fichier journal toutes les minutes! Pour modifier la période de régler le DatePattern valeur. Par exemple, un modèle de date de "aaaammjj" va rouler tous les jours.
Voir Système.De la mondialisation.DateTimeFormatInfo pour une liste de modèles disponibles.
D'autres ont mentionné Log4Net, donc je vais aller de l'avant et de pimp la L'Entreprise De La Bibliothèque Journalisation Bloc, ce qui est également tout à fait capable de faire ce que vous voulez.
Sûr. Généralement, on utilisera le L'Entreprise De La Bibliothèque De L'Outil De Configuration pour construire la configuration; cet outil prend un peu pour s'y habituer, mais une fois que vous comprenez comment cela fonctionne, c'est assez puissant. Cela dit, vous pouvez également modifier le
app.config
à la main.Voici la sortie de l'outil que j'ai mentionné, qui décharges à peu près tout dans un rouleau de fichier plat qui roule tous les jours (ou si elle dépasse 2 MO). La mise en forme est la valeur par défaut fournies par l'outil.
Je le recommande à quelque chose comme ceci:
Est-il une raison pour laquelle vous voulez quelque chose à créer un après minuit? Pourquoi ne pas simplement créer si elle n'existe pas quand vous allez vous connecter l'erreur?
Aussi remarqué que j'ai changé le format de la date. Cela vous permettra de trier les fichiers par leur nom et de les faire dans l'ordre. J'ai toujours utiliser ce format lorsque vous embêter avec des dates en aucune façon.
Essayer NLog (nlog-project.org). Il est très flexible et plus facile à travailler que Log4Net, à mon avis.
Exemple NLog.config:
Pour plus d'exemples (y compris d'autres journalisation des cibles en dehors de Fichier) voir NLog exemples de configuration sur Github
Vous n'avez pas besoin de le créer à un moment donné, dans le cas le plus simple, vous pouvez simplement vérifier si il y a un fichier de log avec la date d'aujourd'hui, comme son nom lorsque vous démarrez le service de journalisation de l'application et si il n'y en a pas, vous pouvez en créer un avant de commencer l'ajout à.
Le seul cas vous devez être particulièrement conscients de cette configuration est que lorsque l'application s'exécute au-delà de minuit.
utilisation log4net. C'est l'un des plus couramment utilisé de la bibliothèque pour la journalisation.
Il peut être facilement configuré comme vous le souhaitez, veuillez vous reporter aux échantillons.
Ci-dessous est l'appender XML que je suis en train de l'utiliser.
Basés sur vos exigences d'
1) création d'un fichier journal pour une fois un jour et,
2) l'extension de txt,
vous devez utiliser un XML similaire à ce qui est ci-dessous.
Le code XML ci-dessous crée un fichier journal nommé system-20121106.txt.
Le seul problème est que depuis la valeur du fichier est logs/système de votre fichier alors qu'il est écrit pour le courant de la journée sera le système. Pour contourner ce problème, vous devez configurer votre fichier de la valeur à logs/system.txt mais alors que vous obtenez system.txt.20121106.txt comme le fichier final.
Lorsque vous vous connectez à quelque chose, vérifier pour voir si un fichier avec la date actuelle existe, si ce n'est pas la créer. Simple que ça 🙂
Il n'est pas nécessaire pour le créer, jusqu'à ce que vous en avez besoin, utilisez:
(ou peut-être un autre encodage). Cela va créer le fichier est qu'il n'existe pas, ou de commencer à ajouter.
Ensuite c'est une question de création de nom de fichier et en utilisant simplement que.