11
votes

Comment ajouter une ligne vide dans le fichier journal à l'aide de log4net?

J'ai utilisé RollingfileAppender. Et je veux ajouter une ligne vide au journal lorsque mon programme lance. Comment faire ça? Merci.

Edit: Ok, merci pour vous tous. Désolé pour la question confuse que j'ai posée. Laissez-moi faire une explication. Je configure le log4net comme suit: p>

2010/03/27 13:55:27, INFO, Program start.
2010/03/27 13:55:29, INFO, Program end.

2010/03/27 13:56:30, INFO, Program start.
2010/03/27 13:56:32, INFO, Program end.

2010/03/27 13:57:30, INFO, Program start.
...


3 commentaires

Désolé, pourquoi voulez-vous ajouter une ligne blanche? :-) Et aussi .. votre problème est comment se connecter avec log4net la ligne blanche ou où mettre cette phrase de journalisation?


Tu as raison. Ma question doit être de savoir comment se connecter avec log4net la ligne blanche. Pouvez-vous me dire comment? Merci.


Quel est le problème avec la fonction d'en-tête / pied de page intégrée (voir Logging.apache.org/log4net/Release/... )


4 Réponses :


6
votes

log.debug (environnement.newline);


1 commentaires

Merci pour votre réponse. J'ai édité la question. C'est peut-être plus clair. Votre solution peut ajouter une nouvelle ligne. Mais la dernière connexion serait peu étrange.



3
votes

Vous auriez besoin d'un appendeur spécial. Ici, vous avez un exemple de configuration

<log4net>
  ...
  <appender name="MyRollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="C:\temp\mylog.log" />
    <appendToFile value="true" />
    <rollingStyle value="Date" />
    <datePattern value="yyyyMMdd" />
    <staticLogFileName value="true" />
    <maximumFileSize value="2MB" />
    <maxSizeRollBackups value="20" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%message%newline" />
    </layout>
  </appender>

  <logger name="MyLogger">
    <level value="Info" />
    <appender-ref ref="MyRollingLogFileAppender" />
  </logger>  
  ...
</log4net>


1 commentaires

Merci pour votre réponse. Mais cela fera insérer une nouvelle ligne chaque fois que je me connecte. J'ai expliqué une explication à ma question. Vous auriez un coup d'œil à cela, si vous avez toujours des intérêts dans la question.



3
votes

changer xxx

avec xxx

Ceci ajoutera deux nouvelles lignes à la fin du fichier. Le premier sera là comme une nouvelle ligne, la seconde agit comme point de départ du prochain journal.


0 commentaires

24
votes

La réponse sélectionnée est beaucoup plus difficile qu'elle ne doit être. Je ne sais pas si cela n'existait pas quand la question a été posée à l'origine, mais la bonne façon de procéder est avec un ou la mise en page du Appender. Quelque chose comme ceci: xxx

qui insérera une ligne vide en tant que pied de page à chaque exécution de la journalisation. Plus de détails sont ici: http://logging.apache.org/log4net/release /faq.html#layout-header-xml-newlines


4 commentaires

Travaillé brillamment pour moi. J'ai convenu que cela est beaucoup plus simple que la réponse acceptée.


@Nick Cela ne semble pas répondre à l'exigence de la question initiale. L'exigence était d'insérer une ligne vierge à la fin du programme. Cette solution insère une ligne vierge après toutes les entrées de journal .


@ Kannankeril J'ai utilisé cette configuration précise dans quelques programmes pendant plusieurs années et je suis positif, ils n'impriment que le pied de page lorsque la journalisation est terminée (normalement lorsque le programme se termine). Est-ce que vous fermez manuellement le flux? Ou peut-être que Log4net a changé comment ils gèrent les pieds de page (ou ont un bug) - j'ai passé à Nlog afin que je ne puisse pas dire pour certains. Toutefois Les docs suggèrent qu'il devrait toujours fonctionner .


Travailler toujours comme prévu pour que Log4net n'a pas changé. Je pense que votre problème est lié à votre configuration @kannankeril