Unde ar trebui să pun fișierul meu de jurnal pentru o aplicație asp.net?

Am o aplicație ASP.NET pe care am scris-o pentru modulul nostru de logare.

Întrebarea mea este, unde este locul standard pentru a scrie un fișier log? I.E. site-ul web va fi difuzat ca identitate de utilizator anonim (de ex. IUSR pe IIS7) și am nevoie de un loc în care știu că va avea permisiunea de a scrie.

Noroc,

0
fr hi bn

6 răspunsuri

Dosarul App_Data de pe rădăcina proiectului. Nu este servit cererilor web; astfel încât ceilalți să nu poată să se uite la el.

0
adăugat

Nu sunt în poziția de a modifica permisiunile pentru dosare (mai ales în afara directorului de domiciliu al directorului virtual) și nu au deja un dosar App_Data, așa că sunt puțin ezitant să merg cu asta.

Deci, pentru moment, mă duc cu dosarul CommonApplicationData.

  • Pe Vista / Server 2008 este C: \ ProgramData \
  • Pe XP / Server 2003 acesta este C: \ Documents and Settings \ All Users \ Application Data \
0
adăugat

Aș sugera să puneți fișierul de jurnal pe un disc separat, deși ar trebui să vă dau un pic de câștig de performanță, astfel încât să nu încercați să citiți și să scrieți pe același disc ca și site-ul web. Dacă nu puteți pune fișierul jurnal pe un disc separat, atunci aș alege pur și simplu un dosar la alegere.

În orice caz, va trebui să oferiți permisiunea "Modificați" contul "Serviciu de rețea" în dosarul dorit.

Dacă, pe de altă parte, aveți acces la o bază de date, atunci înregistrați informațiile acolo. Acesta va fi mult mai rapid decât accesarea hard diskului și nu va fi disponibil public. De asemenea, veți putea să raportați cu ușurință datele.

0
adăugat

You could also log to the Windows Event log or to a table in a database. How often are people looking at the event log? If it's being examined on a regualr basis, writing to a table amkes the reporting back much easier as it's trivial to reverse the order and only show the last X events for the current time period. The Windows Event log you can also query the Windows Event Log through PowerShell or with LogParser.

0
adăugat
sau cu Lizard parser log, este o mare plus pentru LogParser, suporta sintaxa de tip sql pentru aproape orice, incluzând sistemul de fișiere.
adăugat autor jhexp, sursa

Nu sunt în măsură să modific permisiunile pentru dosare (în special în afara directorului de domiciliu al directorului virtual) și nu am deja un dosar App_Data, așa că sunt puțin ezitant să merg cu asta.

Dacă aveți un site web, aveți clar un dosar undeva. Nu puteți adăuga un subdirector (care nu se află în rețea)? Se pare că ar fi un loc mai potrivit pentru a vă pune jurnalele decât pentru a le arunca într-un dosar global, partajat.

0
adăugat

Împingeți app_data este cea mai bună idee, pur și simplu să rețineți, atunci când publicarea proiectelor, dacă este bifată opțiunea "Ștergeți toate fișierele existente înainte de publicare", atunci datele curente din dosar vor dispărea. Soluționarea este să săriți ștergerea directorului app_data.

O altă opțiune de a face logarea este utilizarea unor cadre existente, cum ar fi Log4net.

0
adăugat