因为需要,我在程序里写了一个重新指定RollingFileAppender.File的东西
然后发现MaximumFileSize不好用了,大于size后,还是继续写同一个文件。
代码如下: public static void ChangeRollingFileName(log4net.ILog iLog)
{
//
//log4net.ILog iLog = log4net.LogManager.GetLogger("AppLogger"); //
string strPath = Environment.GetEnvironmentVariables()["USERPROFILE"].ToString() + "\\log\\";
string strFilename = strPath + "log.txt";
// 文件夹生成 if (!Directory.Exists(strPath))
{
Directory.CreateDirectory(strPath);
} log4net.Core.LogImpl logImpl = iLog as log4net.Core.LogImpl;
if (logImpl != null)
{
log4net.Appender.AppenderCollection ac = ((log4net.Repository.Hierarchy.Logger)logImpl.Logger).Appenders;
for (int i = 0; i < ac.Count; i++)
{
//
log4net.Appender.RollingFileAppender rfa = ac[i] as log4net.Appender.RollingFileAppender;
if (rfa != null)
{
rfa.File = strFilename; // 写文件
rfa.Writer = new System.IO.StreamWriter(rfa.File, rfa.AppendToFile, rfa.Encoding);
}
}
}
}
有谁知道怎么样才可以既动态指定文件名,还能做文件大小限制,自动生成新文件?
然后发现MaximumFileSize不好用了,大于size后,还是继续写同一个文件。
代码如下: public static void ChangeRollingFileName(log4net.ILog iLog)
{
//
//log4net.ILog iLog = log4net.LogManager.GetLogger("AppLogger"); //
string strPath = Environment.GetEnvironmentVariables()["USERPROFILE"].ToString() + "\\log\\";
string strFilename = strPath + "log.txt";
// 文件夹生成 if (!Directory.Exists(strPath))
{
Directory.CreateDirectory(strPath);
} log4net.Core.LogImpl logImpl = iLog as log4net.Core.LogImpl;
if (logImpl != null)
{
log4net.Appender.AppenderCollection ac = ((log4net.Repository.Hierarchy.Logger)logImpl.Logger).Appenders;
for (int i = 0; i < ac.Count; i++)
{
//
log4net.Appender.RollingFileAppender rfa = ac[i] as log4net.Appender.RollingFileAppender;
if (rfa != null)
{
rfa.File = strFilename; // 写文件
rfa.Writer = new System.IO.StreamWriter(rfa.File, rfa.AppendToFile, rfa.Encoding);
}
}
}
}
有谁知道怎么样才可以既动态指定文件名,还能做文件大小限制,自动生成新文件?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货