好的方法来限制文本日志文件

好的方法来限制文本日志文件

本文介绍了好的方法来限制文本日志文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个winform应用程序中,我有记录的目的的文本文件。我想将其大小限制为10 MB,这样如果这个限制被传递而写入新的数据,然后在文本文件中的最旧的数据被删除,以腾出空间给新的数据。任何有用的建议?

I have a winForm app in which I have a text file for logging purpose. I want to limit its size to 10 MB so that if this limit is passed and new data is written then the oldest data in text file is deleted to make space for new data. any useful suggestion ?

推荐答案

使用一些日志框架(我建议的或,都可以从的NuGet),它提供滚动日志文件的功能。

Use some logging framework (I suggest NLog or log4net, both available from NuGet) which provides rolling log files feature.

例如:与log4net的你可以用下面的配置将日志文件大小限制为10Mb

E.g. with log4net you can use following configuration to limit log file size to 10Mb

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="log.txt" />
    <appendToFile value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="10MB" />
    <staticLogFileName value="true" />
    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date %-5level %logger - %message%newline" />
    </layout>
</appender>



NLOG配置看起来像

NLog configuration looks like

<target xsi:type="File"
      name="RollingFileAppender"
      layout="${verbose}"
      archiveAboveSize="10000000"
      maxArchiveFiles="10"
      archiveFileName="${basedir}/archives/log.{#####}.txt"
      archiveNumbering="Sequence"
      fileName="log.txt" />

这篇关于好的方法来限制文本日志文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-31 04:31