我的应用程序是使用 C# winforms .net 4.0 设计的。
我的应用程序创建了自己的日志文件,这是以编程方式
created 表示应用程序本身在设置时创建它。文件夹结构为 AppData->MyApp->MyApp1->logging.log。
卸载应用程序时,只需删除此文件。
我怎样才能做到这一点?请有人帮助我。
private const string LOG_FILE = "logging";
private const string LOG_FILE_EXT = ".log";
m_strGeneralFilePath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + Config.APPDATA_PATH;
public void CheckLogFile()
{
string file = Config.LOG_FILE;
m_strLogfile = Config.LOG_FILE + Config.LOG_FILE_EXT;
if (File.Exists(m_strGeneralFilePath + file + Config.LOG_FILE_EXT))
{
long logFileStreamLength = 0;
using (Stream logFileStream = new FileStream(m_strGeneralFilePath + file + Config.LOG_FILE_EXT, FileMode.Open, FileAccess.Read))
{
logFileStreamLength = logFileStream.Length;
logFileStream.Flush();
logFileStream.Close();
}
//configure a default value if user does not specify the value
if (string.IsNullOrEmpty(logSize))
{
logSize = "1000000";//1MB will the default log file size
}
if (logFileStreamLength > Convert.ToInt32(logSize)) // approx. 1MB 1.000.000
{
for (int i = 9; i > 0; i--)
{
if (i == 9)
{
if (File.Exists(m_strGeneralFilePath + Config.LOG_FILE + i + Config.LOG_FILE_EXT))
{
File.Delete(m_strGeneralFilePath + Config.LOG_FILE + i + Config.LOG_FILE_EXT);
}
continue;
}
if (File.Exists(m_strGeneralFilePath + Config.LOG_FILE + i + Config.LOG_FILE_EXT))
{
System.IO.File.Move(m_strGeneralFilePath + Config.LOG_FILE + i + Config.LOG_FILE_EXT, m_strGeneralFilePath + Config.LOG_FILE + (i + 1) + Config.LOG_FILE_EXT);
}
}
System.IO.File.Move(m_strGeneralFilePath + Config.LOG_FILE + Config.LOG_FILE_EXT, m_strGeneralFilePath + Config.LOG_FILE + "1" + Config.LOG_FILE_EXT);
using (FileStream fs = File.Create(m_strGeneralFilePath + Config.LOG_FILE + Config.LOG_FILE_EXT))
{
fs.Flush();
fs.Close();
}
}
}
else
{
using (FileStream fs = File.Create(m_strGeneralFilePath + Config.LOG_FILE + Config.LOG_FILE_EXT))
{
fs.Flush();
fs.Close();
}
}
}
谢谢,
鲁皮尼