Frage

Ich habe eine ASP.NET Anwendung, die wir geschrieben haben unser eigenes logging-Modul für.

Meine Frage ist, wo ist der standard, um ein Logfile zu schreiben auf?I. e.die website ausgeführt werden, da die Identität des anonymen Benutzers (z.B.IUSR auf IIS7) und ich brauche einen Ort, wo ich weiß, dass es über die Berechtigung zum schreiben auf.

Cheers,

War es hilfreich?

Lösung

App_Data-Ordner im Stammverzeichnis des Projekts.Es ist nicht serviert, um web-Anfragen;so können andere Menschen nicht snoop für es.

Andere Tipps

Ich würde empfehlen, die log-Datei auf einer separaten Festplatte, aber sollten Ihnen einen kleinen performance-Gewinn, so dass Ihr nicht versucht, Sie zu Lesen und schreiben auf der gleichen Festplatte wie die website.Wenn Sie nicht setzen die log-Datei auf einer separaten Festplatte, dann würde ich wählen Sie einfach einen Ordner Ihrer Wahl.

In jedem Fall werden Sie haben zu geben die "Network Service" account "Ändern" - Berechtigungen, um den gewünschten Ordner.

Wenn auf der anderen Seite haben Sie Zugang zu einer Datenbank haben, dann melden Sie die Informationen dort.Es wird viel schneller als der Zugriff auf die Festplatte und nicht öffentlich zugänglich.Sie werden auch in der Lage, einen Bericht von den Daten ganz leicht.

Ich bin nicht in der Lage zu ändern die Berechtigungen für Ordner (vor allem außerhalb des virtual directory home-Ordner), und nicht bereits ein Ordner App_Data, so bin ein bisschen zögerlich, um mit zu gehen, dass.

Also für den moment werde ich mit dem CommonApplicationData Ordner.

  • Auf Vista/Server 2008 ist dies C:\ProgramData\
  • Auf XP/Server 2003 ist dies C:\Documents und Einstellungen\All Users\Application Data\

Ich bin nicht in der Lage zu ändern die Berechtigungen für Ordner (vor allem außerhalb des virtual directory home-Ordner), und nicht bereits ein Ordner App_Data, so bin ein bisschen zögerlich, um mit zu gehen, dass.

Wenn Sie eine website haben, Sie haben ganz klar einen Ordner irgendwo.Können Sie nicht fügen Sie eine (nicht-web-facing) Unterordner?Wie es scheint, das wäre ein geeigneter Ort, um Ihre Protokolle als dumping Sie in einer globalen, gemeinsamen Ordner.

Sie könnte auch log in das Windows-Ereignisprotokoll oder in einer Tabelle in einer Datenbank.Wie oft sind Menschen, die sich auf das Ereignisprotokoll?Wenn es ist untersucht worden, auf eine regualr basis, das schreiben in eine Tabelle amkes der Berichterstattung viel einfacher, als es ist trivial zu die Bestellung zu stornieren und nur die letzten X events für den aktuellen Zeitraum.Das Windows-Ereignisprotokoll können Sie auch die Abfrage der Windows-Event-Log durch PowerShell oder mit LogParser.

Drücken Sie die app_data ist die beste Idee, genau im Auge behalten, wenn der Verlag den Projekten, wenn Sie die option "Löschen Sie alle vorhandenen Dateien vor der Veröffentlichung" angekreuzt ist, dann werden die aktuellen Daten in dem Ordner verschwunden sein.Die Problemumgehung ist, überspringen Sie die Löschung der app_data-Ordner.

Eine andere Möglichkeit, die Protokollierung zu verwenden, einige der bestehenden framework wie Log4net.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top