46 Stimmen

Wo wird eine Anwendungsprotokolldatei unter Windows gespeichert?

Wo wäre der beste "Standard"-Speicherort für die Debug-Protokolldatei einer Anwendung in einer Windows-Benutzerumgebung?

In diesem speziellen Fall handelt es sich um eine Anwendung, die einmal ausgeführt wird und schief gehen kann. Sie wird von Systemadministratoren ausgeführt, die möglicherweise das Protokoll nach der Ausführung der Anwendung einsehen müssen. Jedes Mal, wenn die Anwendung ausgeführt wird, wird eine neue Protokolldatei erstellt.

Folgende Optionen wurden bisher ins Auge gefasst:

  1. Das Programmverzeichnis
  2. Der Desktop des Benutzers
  3. Das lokale Anwendungsdatenverzeichnis des Benutzers.

Ich habe meinen Favoriten, aber ich wollte wissen, wie der SO-Konsens ist.

Hinweis: Dies ist vergleichbar mit diese Frage aber wir haben es hier mit einer Anwendung zu tun, die wahrscheinlich nur einmal von einem Benutzer ausgeführt wird.

26voto

Mark Ransom Punkte 283960

Das Verzeichnis der Anwendungsdaten scheint der perfekte Ort dafür zu sein, aber es ist ein Bereich, der fast unsichtbar ist. Sie müssen Ihren Benutzern eine einfache Möglichkeit bieten, dorthin zu gelangen.

Lassen Sie Ihr Installationsskript einen Protokollordner im Bereich Anwendungsdaten für Ihr Programm erstellen und einen Link zu diesem Ordner in Ihr Startmenü aufnehmen.

14voto

GoJiTa972 Punkte 91

In der Organisation, für die ich arbeite, verwenden wir die (%TEMP% oder %TMP%) \CompanyOrProductName\Logs Verzeichnis Die Verwendung von %APPDATA% kann bei Roaming-Profilen problematisch sein, wenn die Protokolle zahlreich oder umfangreich sind: es verlangsamt den Anmeldevorgang ...

8voto

DmitryK Punkte 5424

1. das Programmverzeichnis <- nicht gut. Idealerweise haben Sie nur RX-Berechtigungen für diesen Ordner.

2. den Desktop des Benutzers <- technisch ist das machbar, aber ich mag diese Idee nicht. Desktop verschmutzen... Ich, als Benutzer, mag das nicht.

3. das lokale Anwendungsdatenverzeichnis des Benutzers. <- besser

Ich bevorzuge ein Unterverzeichnis unter dem Programmverzeichnis (mit einem eindeutigen Namen wie "DebugLog" oder etwas Ähnlichem). Die Berechtigungen für dieses Unterverzeichnis sollten das Erstellen und Schreiben von Dateien erlauben ("Ändern" ist in Ordnung)

3voto

James Punkte 77534

Der "Standard"-Speicherort für das Protokoll ist das AppData-Verzeichnis. Es liegt jedoch an Ihnen, wo Sie sie speichern möchten. Da es sich um Administratoren (Power-User) handelt, sollte es keine Probleme geben, die Protokolle im gleichen Verzeichnis wie die ausgeführte Anwendung zu speichern. Sogar im Verzeichnis MyDocuments des Benutzers wäre ein guter Vorschlag.

2voto

Foxfire Punkte 5615

Wenn Sie ERWARTEN Wenn etwas schief gehen sollte, legen Sie sie in das lokale Anwendungsdatenverzeichnis des Benutzers.

Wenn Sie das nicht tun und trotzdem protokollieren wollen, würde ich darüber nachdenken, wirklich das temporäre Verzeichnis zu verwenden. Der Grund dafür ist einfach. Wenn die Anwendung nur einmal ausgeführt wird, werden Sie im Anwendungsdatenverzeichnis Müll hinterlassen, den sonst niemand mehr braucht. Im Temp-Verzeichnis hat man zumindest die CHANCE, dass es später aufgeräumt wird.

Übrigens: IMHO wäre es am besten, das Protokoll überhaupt nicht als Datei zu erstellen (Protokoll im Speicher), bis etwas schief geht. Dann können Sie immer noch einen Dialog anbieten, in dem der Benutzer auswählen kann, wo das Protokoll gespeichert werden soll.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X