in meinen apps habe ich Logs eingebaut. Sie protokollieren wie die User durch das Programm gehen. Abstürze werden auch gelogt. Diese log.txt werden gezipt und auf unser Server geschickt.
Die einzelnen log.txt haben nach dem zippen alle das gleiche Änderungsdatum. Schon auf dem Gerät.
Was muss ich machen, dass das Erstellungsdatum erhalten bleibt?
Ein workaround wäre, du packst das erstell Datum in den Titel, so hast du wenigstens dort eine Uhrzeit. Wenn man unter Windows etwas Zipt dann bleibt das Datum wie es ist, denke einfach mal, dass die Bibliothek die Dateien neu schreibt, das würde das gleiche Datum und Uhrzeit erklären.
Sub Activity_Create(FirstTime As Boolean)
modMyUtils.MyLog("" & CRLF & "Exec: Main.Activity_Create")
modMyUtils.MyLog(TAB & "FirstTime = " & FirstTime)
B4X:
'Code module modMyUtils
'Subs in this code module will be accessible from all modules.
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
'Set it to False to avoid the MyLog messages.
Public LogOn As Boolean = True
End Sub
Public Sub MyLog(Msg As String)
If LogOn Then
Log(Msg)
LogWrite(Msg)
End If
End Sub
Sub LogWrite(EventsLog As String)
Dim TextWriter1 As TextWriter
Dim sdRoot As String
Dim mDateTime As String
DateTime.DateFormat = "yyyy-MM-dd HH:mm:ss"
mDateTime = DateTime.Date(DateTime.now)
sdRoot = File.DirRootExternal & "/"
Log("EventsLog " & EventsLog)
If HDB.mx1combera_id = Main.mComberaID Then
If File.Exists(sdRoot & Main.mActionName & "/Logs/files", Main.mActionName & HDB.mx1combera_id & "log.txt") = False Then
File.WriteString(sdRoot & Main.mActionName & "/Logs/files", Main.mActionName & HDB.mx1combera_id & "log.txt", "")
Else
TextWriter1.Initialize(File.OpenOutput(sdRoot & Main.mActionName & "/Logs/files", Main.mActionName & HDB.mx1combera_id & "log.txt", True))
TextWriter1.WriteLine("- " & EventsLog & " - " & mDateTime)
TextWriter1.Close
End If
End If
End Sub
Wenn ich jetzt die Zeit mit in den Namen nehme, wird mir jedes mal ein neues Log.txt erstellt. Ist ja klar, now ändert sich ja ständig. Da muss ich mir was überlegen.
Eventuell eine "log" Tabelle erstellen um zu sehen ob es die Zeit schon gibt.