作成したファイルにエラーを保存するテキストファイルを作成しました。私は一度押すと、ファイルに保存する必要があるエラーを生成するボタンがあります。しかし、ボタンを2回押すと、ファイルの内容が上書きされるため、最初に生成されたエラーが上書きされます。新しいエラーを保存する別のファイルを生成したい。新しいエラーごとに新しいファイルを生成する必要があります。その後、FileExists Methodし、新しい名前を選んで存在している場合:C#テキストファイルにエラーログが含まれています
事前
作成したファイルにエラーを保存するテキストファイルを作成しました。私は一度押すと、ファイルに保存する必要があるエラーを生成するボタンがあります。しかし、ボタンを2回押すと、ファイルの内容が上書きされるため、最初に生成されたエラーが上書きされます。新しいエラーを保存する別のファイルを生成したい。新しいエラーごとに新しいファイルを生成する必要があります。その後、FileExists Methodし、新しい名前を選んで存在している場合:C#テキストファイルにエラーログが含まれています
事前
private void SaveErrorMessage(string errorMessage)
{
string errorFile = null;
for(int x = 0; x < Int32.MaxValue; ++x)
{
errorFile = string.Format(CultureInfo.InvariantCulture, "error-{0}.txt", x);
if(!System.IO.File.Exists(errorFileTest))
{
break;
}
}
File.WriteAllText(errorFile, errorMessage);
}
のための完全なリンクこれは、あなたがInt32.MaxValueをファイルを持っていた後に、最後のファイルが上書きされますが、それは取りますよしばらく。
新しい(または新しい)ファイルを作成するのではなく、単にファイルに追加する方法があります。
log4netなど、より堅牢なロギングソリューションの使用を検討することもできます。
簡単な使用に感謝します。あるいは、ファイルに追加するだけでも構いません。
PSUDO:
public string checkFileName(string fileName){
if(File.Exists(fileName)){
/Pick a new one
newFileName= fileName + DateTime.Now.ToLongDateString()
return checkFileName(newFileName)
}
return fileName
}
は、これは可能性がありますHow to Open and Append a log file
Creating file in C#おそらくあなたが探しているものです。
ファイル名にタイムスタンプを追加できます。この場合、毎回新しいファイルが作成されます。
プログラムで発生するエラーごとに一意のファイル名を生成しますか?おそらく、これを達成する最も簡単な方法は、ファイルに名前を付ける際にエラーが発生した日時を使用することです。 LOGPATHはあなたにエラーファイルを作成したいフォルダへのパスです
string filename = LogPath + DateTime.Now.ToString("yyyyMMdd.HHmmss") + ".err";
:あなたがファイルへの書き込みをされている機能では、このようなファイルに名前を付けることになるでしょう。
ボタンを100回クリックすると100個のファイルが作成されます。なぜあなたはそれを望んでいますか? –
本当の質問は、なぜU(@AshBurlaczenko)がそれを望むのでしょうか?あなたはユーザーでした;) – Nix
なぜ地球上の人々は誰かが何かしたいのかについて質問します。このサイトは理由ではなく、問題に関するものです! –