相关疑难解决方法(0)

如何使用log4net将RollingFileAppender配置为按日期和大小滚动?

我配置log4net以使用复合RollingFileAppender,以便当前文件始终命名为logfile.log,所有后续文件都命名为logfile-YYYY.MM.dd.seq.log,其中seq是序列号,如果日志超过特定大小在一天之内.不幸的是,我在配置这样的设置方面收效甚微.

编辑:

我当前的配置粘贴在下面.它已根据几个答案进行了更新,使我足够接近我的需求.这将生成以下格式的文件:logfile_YYYY.MM.dd.log.seq

<log4net>

    <root>
        <level value="DEBUG" />
        <appender-ref ref="RollingFileAppender" />
    </root>

    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
        <file value="logs\\logfile"/>
        <staticLogFileName value="false"/>
        <appendToFile value="true"/>
        <rollingStyle value="Composite"/>
        <datePattern value="_yyyy.MM.dd&quot;.log&quot;"/>
        <maxSizeRollBackups value="10"/>
        <maximumFileSize value="75KB"/>
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
        </layout>
        <filter type="log4net.Filter.LevelRangeFilter">
            <param name="LevelMin" value="DEBUG" />
            <param name="LevelMax" value="FATAL" />
        </filter>
    </appender>

</log4net>
Run Code Online (Sandbox Code Playgroud)

一个有趣的说明,设置

<staticLogFileName value="false"/>
Run Code Online (Sandbox Code Playgroud)

为true会导致记录器不写入任何文件.

xml configuration log4net composite rollingfileappender

25
推荐指数
1
解决办法
6万
查看次数

令人难以置信的奇怪的文件创建时间问题

我确实有一个非常奇怪的问题!我想知道问题是在框架中,操作系统还是仅仅是我,误解了一些事情......

我有一个文件,可能是很久以前创建的,我使用该文件,然后我想通过更改它的名称来存档它.然后我想在重命名之前创建一个与旧文件同名的新文件.够容易!

真正困扰我的问题是,新创建的文件出错了"创建" - 时间戳!这是一个问题,因为它是我想用来确定何时存档和创建新文件的时间戳.

我创建了一个非常小的样本来显示问题.要使示例正常工作,Files文件夹中必须有一个文件1.txt.此外,还必须及时设置文件属性(使用其中一个工具,我使用Nomad.NET).

    static void Main(string[] args)
    {
        // Create a directory, if doesnt exist.
        string path = Path.GetDirectoryName(Application.ExecutablePath) + "\\Files";
        Directory.CreateDirectory(path);

        // Create/attach to the 1.txt file
        string filename = path + "\\1.txt";
        StreamWriter sw = File.AppendText(filename);
        sw.WriteLine("testing");
        sw.Flush();
        sw.Close();
        // Rename it...
        File.Move(filename, path + "\\2.txt");

        // Create a new 1.txt
        sw = File.AppendText(filename);
        FileInfo fi = new FileInfo(filename);
        // Observe, the old files creation date!!
        Console.WriteLine(String.Format("Date: {0}", fi.CreationTime.Date));

        Console.ReadKey();
    }
Run Code Online (Sandbox Code Playgroud)

.net c# windows filesystems

24
推荐指数
2
解决办法
5718
查看次数

MSDN FileSystemWatcher类示例中PermissionSet属性的用途是什么?

在MSDN FileSystemWatcher类页面上,它包含一个具有以下类属性的示例:

 [PermissionSet(SecurityAction.Demand, Name="FullTrust")]
Run Code Online (Sandbox Code Playgroud)

这样做的目的是什么?什么时候应该包含还是不包括在内?

FileSystemWatcher类帮助页面位于:http: //msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx

c# permissionset

21
推荐指数
1
解决办法
1万
查看次数

我如何设置log4net每天将我的文件记录到不同的文件夹?

  1. 我想在每天将所有日志保存在名为YYYYMMdd的文件夹中 - log4net应根据系统日期时间处理创建新文件夹 - 我如何设置它?
  2. 我希望将白天的所有日志保存到1MB的n个文件中 - 我不想重写旧文件,而是要在一天内真正拥有所有日志 - 我如何设置它?

我在C#中使用

关心亚历克斯

c# configuration logging log4net

20
推荐指数
3
解决办法
2万
查看次数

Log4Net可以自动删除日志文件吗?

我在用C#编写的Windows服务程序中使用log4net RollingFileAppender.日志目录中文件的数量和大小增长得太快,需要清理.配置如下:

<appender name="Rolling Log" type="log4net.Appender.RollingFileAppender">
<file value="..\logs\MyProgram.%cs{instanceName}.log" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value=".yyyy-MM-dd.lo\g" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="150MB" />
<layout type="log4net.Layout.PatternLayout">
  <conversionPattern value="%date [%-5level] %property{remoteUser} [%threadIdentity] %type{1}.%method - %message%newline%exception" />
</layout>
Run Code Online (Sandbox Code Playgroud)

我只想保留30天的日志.如何配置log4net自动删除日志?如果没有通过log4net可用,我会有什么解决方案?

先感谢您.

.net c# logging log4net log4j

18
推荐指数
2
解决办法
3万
查看次数

如何清除log4net日志文件?

我正在使用log4net.我想在我的GUI中添加一个按钮,当用户单击该按钮时,日志文件将被清除.我怎样才能做到这一点?

非常感谢

c# log4net

7
推荐指数
3
解决办法
1万
查看次数

如何让log4net只保留最后X天的日志?

我只希望log4net保持让我们说10天的日志文件,因为保持它们无限增长最终会占用我的磁盘空间.我以为我可以通过设置来做到这一点

<maxSizeRollBackups value="10" />
Run Code Online (Sandbox Code Playgroud)

在我的RollingFileAppender上,但没有骰子.我该怎么做呢?

.net configuration log4net

6
推荐指数
1
解决办法
7607
查看次数