0

私のアプリケーションは、C# winforms .net 4.0 を使用して設計されています。

私のアプリケーションは独自のログ ファイルを作成します。これはプログラムによって行われます。

作成済みとは、アプリケーション自体がセットアップ時にそれを作成することを意味します。フォルダー構造は、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();
            }
        }


    }

ありがとう、

ルーピーニ

4

1 に答える 1