私は独自のログモジュールを作成したASP.NETアプリケーションを持っています。asp.netアプリケーションのログファイルはどこに置く必要がありますか?
私の質問は、ログファイルを書き込む標準の場所はどこですか?私。ウェブサイトは匿名ユーザーID(IIS7のIUSRなど)として実行され、書き込み権限があることがわかっている場所が必要です。
乾杯、
私は独自のログモジュールを作成したASP.NETアプリケーションを持っています。asp.netアプリケーションのログファイルはどこに置く必要がありますか?
私の質問は、ログファイルを書き込む標準の場所はどこですか?私。ウェブサイトは匿名ユーザーID(IIS7のIUSRなど)として実行され、書き込み権限があることがわかっている場所が必要です。
乾杯、
プロジェクトのルートにあるApp_Dataフォルダ。 Webリクエストには対応していません。他の人はそれを詮索することはできません。
ログファイルを別のディスクに置くことをお勧めしますが、ウェブサイトと同じディスクに読み書きするのではなく、パフォーマンスを少し向上させる必要があります。別のディスクにログファイルを置くことができない場合は、あなたが選んだフォルダを選択するだけです。
いずれにしても、「ネットワークサービス」アカウントに「変更」アクセス許可を指定する必要があります。
一方、データベースにアクセスできる場合は、そこに情報を記録します。これは、ハードドライブにアクセスするよりはるかに高速であり、一般に公開されることはありません。また、データから簡単にレポートすることもできます。
私は、フォルダ(特に仮想ディレクトリのホームフォルダの外)のアクセス許可を変更する立場にないため、App_Dataフォルダをまだ持っていないので、少し気になりません。
私はCommonApplicationDataフォルダを使用しています。ビスタ/ Server 2008で
アプリケーションデータ\を\ I (特に仮想ディレクトリのホームフォルダの外にある)フォルダのアクセス許可を変更する位置になく、App_Dataフォルダをまだ持っていないので、そのために少し躊躇します。
ウェブサイトをお持ちの場合は、どこかにフォルダがあります。 Web以外のサブフォルダを追加できませんか?ログを保存する場所は、グローバルな共有フォルダにダンプするよりも、適切な場所になるようです。
Windowsイベントログまたはデータベースのテーブルにもログを記録できます。どのくらいの頻度でイベントログを見ていますか?それが定期的に検査されている場合、テーブルに書き込むことは、順序を逆転させ、現在の期間の最後のXイベントのみを表示するのは些細なので、報告をもっと簡単に戻します。 Windowsイベントログには、PowerShellまたはLogParserでWindowsイベントログを照会することもできます。
app_dataをプッシュすることをお勧めします。プロジェクトを公開する際に、「公開前にすべての既存ファイルを削除する」オプションを選択すると、フォルダ内の現在のデータはなくなります。回避策は、app_dataフォルダの削除をスキップすることです。
ロギングを行うもう1つのオプションは、Log4netなどの既存のフレームワークを使用することです。
またはLog Parser Lizardを使用すると、LogParserの素晴らしい追加機能で、ファイルシステムを含むほぼすべてのものに対してsqlのような構文をサポートします。 – jhexp