2

ログファイルがそこに行くように、log4netファイルアペンダーで指定できるパスが必要です。ただし、aspnet またはその他のアカウントには、%APPDATA% フォルダーへの書き込み権限がありません。顧客の管理者に追加のアクセス権限を付与するよう依頼せずに書き込みできる場所はありますか? Path.GetTempFile() はおそらく良い考えではありません。ユーザーに調べるように指示できる定義済みの場所と、Web アプリケーションもどこから読み取ることができるかが必要です。私が必要とするものを達成する方法について他に何か考えはありますか?

強調したいのは、顧客に何も尋ねないということです。

4

4 に答える 4

1

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

于 2009-03-21T16:10:51.650 に答える
1

ねえ、私は何かを考えました。ふぅ…これについて先に言及しなかったのはちょっとばかげていると思います。アプリがデータベースと通信している場合は、ログ用にテーブルを作成できます。データベースに書き込む log4net アペンダーがあります。DB を使用している場合は、アクセス許可の問題は既に解決されていると確信しています。また、データベースのログ エントリにはいくつかの利点があります (いくつかの欠点もあります)。

于 2009-03-21T15:21:14.607 に答える
1

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

于 2009-03-21T15:22:24.887 に答える
0

私の知る限り、ASPNET ユーザーがデフォルトで書き込み権限を持つ場所はありません。設計上、非常に制限されたアカウントとして箱から出されます。顧客が手動で行う必要がないように自動化する方法はありますが、いくつかの管理者の変更が必要になると思います。たとえば、配布するスクリプトに配置することも、もちろんインストーラーに組み込むこともできます。顧客のセキュリティ意識や IT 意識に応じて、変更が顧客にとって問題ないことを確認したいと思うでしょう。あなたがやりたいことをする方法を考えられたらいいのにと思いますが、他に何も思い浮かびません。

于 2009-03-21T13:38:42.263 に答える