2009-03-21 3 views
2

ログファイルがそこに行くようにlog4netファイルアペンダで指定できるパスが必要です。 ただし、aspnetなどのアカウントには%APPDATA%フォルダへの書き込み権限がありません。 お客様の管理者に余分なアクセス権を与えるように依頼することなく、書き込める場所はありますか? Path.GetTempFile()はおそらく良い考えではありません。私は、ユーザーに見せてもらうことができる定義された場所と、Webアプリケーションがどこから読めるかを知る必要があります。 私が必要とするものを達成するための他の考えはありますか?.net Webアプリケーションからログする場所は? - 特権のため%APPDATA%を使用できません

私は強調したい:全体のポイントは、お客様に何かを尋ねることではありません!

答えて

0

私が知る限り、ASPNETユーザーが既定で書き込み権限を持つ場所はありません。それは非常に限定されたアカウントとして、設計通りに箱から出てきます。管理者の変更が必要になると思いますが、顧客を手動で行う必要がないように自動化する方法があります。例えば、あなたはあなたが納品したスクリプトにインストールすることも、もちろんインストーラに組み込むこともできます。セキュリティを意識しているのか、それともITを意識しているのかによって、変更が顧客には間違いないことを確認したいと思います。私は、あなたが望むことをやり遂げる方法を考えることができればいいと思うが、それ以外のことは考えていない。

1

ねえ、私は何かを考えました。私は以前これを言及していないので、愚かな気がする。あなたのアプリがデータベースと対話している場合は、ログ用のテーブルを作成することができます。データベースに書き込むlog4netアペンダーがあります。私はあなたがDBを使用している場合、権限の問題はすでに解決されていると確信しています。データベースのログエントリにはいくつかの利点があります(いくつかの欠点もあります)。

1

私の現在のアプリケーションでは、インストーラ(Windows Installer XMLで構築された.msi)は、ログ出力用の書き込み可能なフォルダを作成します(すべてのログファイルをZIPして問題が発生した場合に返送するツール)。

1

EventLogAppenderを使用したシステムイベントログはどうですか?それはあなたのための選択肢ですか?

関連する問題