log4net un fichier pour l'exécuter
J'ai besoin de mon application pour créer un fichier de log à chaque fois qu'il s'exécute.
Mon format préféré serait App.journal.aaaa-MM-jj_hh-mm-ss. Si ce n'est pas possible, je me contenterais pour le App.journal.aaaa-MM-jj.compteur
C'est mon appender configuration:
<appender name="File" type="log4net.Appender.RollingFileAppender">
<file value="App.log"/>
<rollingStyle value="Date"/>
<datePattern value=".yyyy-MM-dd_HH-mm-ss"/>
<staticLogFileName value="false"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
</appender>
Mais il crée un nombre aléatoire de fichiers en fonction de la date et de l'heure.
Vous devez vous connecter pour publier un commentaire.
Je suppose que l'application doit créer un seul fichier log à chaque fois qu'il fonctionne, de sorte que vous n'avez pas besoin d'un rouleau de fichier appender (si ma solution s'appliquerait pour rouler fichier appenders en tant que bien):
(Vous pouvez bien évidemment utiliser d'autres votre propre mise en page et d'autres paramètres pour le fichier appender.)
Notez également que vous pouvez définir votre rouleau de style comme
rollingstyle="Once"
et il va créer un nouveau fichier à chaque fois qu'il est exécuté. Si
staticLogFileName
est définie sur true (par exemple,logname.log
) de la précédente journaux seront mis àlogname.log.1
,logname.log.2
, etc.Le nombre de dossiers conservés avant d'écraser le plus ancien (10) peut être contrôlée par la mise en
maxSizeRollBackups="10"
Edit:
Ma config, ce qui crée un datestamped journal par l'exécution (sauf si l'un existe, auquel cas il suit la
.1
règle, ressemble à ceci:Pas sûr à 100% si j'ai besoin d'
appendToFile="false"
comme les docs dire que c'est fait automatiquement lorsque vous utilisezrollingStyle="Once"
, mais cela le rend plus clair en tout cas.api
encore, il ajoute les nouvelles des journaux dans le fichier journal actuel.Il est documenté à partir de apache dans le log4net docs à:
https://logging.apache.org/log4net/release/config-examples.html
ctrl+f "par l'exécution du programme"