Sub für Logdatei schreiben

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von XtrEvil.

    Sub für Logdatei schreiben

    Ich habe eine Sub geschrieben, die mir Informationen in eine Log Datei schreiben soll.

    VB.NET-Quellcode

    1. Private Sub logSchreiben(ByVal logFile As String, ByVal text As String)
    2. ' Datei oeffnen
    3. Dim fs As FileStream = New FileStream(logFile, FileMode.Append, FileAccess.Write)
    4. ' Stream oeffnen
    5. Dim sw As StreamWriter = New StreamWriter(fs)
    6. ' Zeilen schreiben
    7. sw.WriteLine(" Log File")
    8. sw.WriteLine()
    9. sw.WriteLine(text)
    10. sw.WriteLine()
    11. sw.WriteLine()
    12. sw.WriteLine("Fertig. " & Me.counterFiles & " Dateien wurden kopiert!")
    13. ' Writer und Stream schließen
    14. sw.Close()
    15. fs.Close()
    16. End Sub


    Das Problem ist folgendes: Ich rufe die Methode in einer Rekursion auf.

    So wird jedesmal eine neue Log Datei erzeugt. Ich möchte aber die Werte hintereinander schreiben...
    ich hab es mal versucht umzusetzen:

    VB.NET-Quellcode

    1. Private Sub logSchreiben(ByVal logFile As String, ByVal text As String)
    2. ' Datei oeffnen
    3. Dim fs As FileStream = New FileStream(logFile, FileMode.Append, FileAccess.Write)
    4. ' Stream oeffnen
    5. Dim sw As StreamWriter = New StreamWriter(fs)
    6. ' Zeilen schreiben
    7. sw.WriteLine("EloMove Log File")
    8. sw.WriteLine()
    9. sw.Close()
    10. File.AppendAllText(logFile, text)
    11. Dim fs2 As FileStream = New FileStream(logFile, FileMode.Append, FileAccess.Write)
    12. Dim sw2 As StreamWriter = New StreamWriter(fs2)
    13. sw2.WriteLine()
    14. sw2.WriteLine()
    15. sw2.WriteLine("Fertig. " & Me.counterFiles & " Dateien wurden kopiert!")
    16. ' Writer und Stream schließen
    17. sw2.Close()
    18. fs2.Close()
    19. End Sub

    Hat jedoch den gleichen effekt, nur der letzte Eintrag wird eingetragen!

    @ Firestorm

    VB.NET-Quellcode

    1. Dim sw As StreamWriter = new Streamwriter(logFile)

    wenn du das so gemeint hast, kommt eine Exception "Prozess kann ni cht auf datei zugreifen!"
    erstens das und du kannst nach dem Eintrag ja aus den Daten in der DB eine Textdatei schreiben wie es dir gefällt und auch so benennen.
    Denke nur wenn die Daten in der Grundform in SQLite vorliegen kannst du mehr damit machen als wenn sie gleich in einer Textdatei stehen...
    Danke für den Hinweis. Ich schreibe die dateien trotzdem in eine text datei, wenn ich das geschafft hab werd ich eure Lösung anschauen.

    /edit: Löung ist wieder banal:

    VB.NET-Quellcode

    1. Private Sub logSchreiben(ByVal text As Integer)
    2. File.AppendAlleText(logFile, "Mein Text"
    3. End Sub

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „XtrEvil“ ()