Я разрабатываю новое серверное приложение, которое включает в себя подпрограмму, которая, например, анализирует ввод в окно консоли.
LogAlways("--- CPU detection ---")
будет записано как:
[net 21:8:38.939] --- CPU detection ---
Это подпрограмма:
Public Sub LogAlways(ByVal input As String)
Dim dm As String = "[net " + Date.Now.Hour.ToString + ":" + Date.Now.Minute.ToString + ":" + Date.Now.Second.ToString + "." + Date.Now.Millisecond.ToString + "] "
Console.WriteLine(dm + input)
Dim fName As String = Application.StartupPath() + "\LogBackups\" + Date.Now.Day.ToString + Date.Now.Month.ToString + "" + Date.Now.Year.ToString + ".log"
Dim stWt As New Global.System.IO.StreamWriter(fName)
stWt.Write(dm + input)
stWt.Close()
End Sub
Это работает, но в файл записывается только последняя строка желаемого ввода.
Почему это происходит, и как мне сделать так, чтобы он не перезаписывал лог-файл? Для этого используется API-интерфейс Wildfire Server.
Это не дубликат, так как у целевого вопроса есть другой ответ, который в противном случае не дал бы ответа на этот вопрос.