2011-01-19 10 views
1

ログファイルを内部的に使用してメッセージを書き込むjarファイルがあります。このjarファイルを使って私はPerlモジュールを開発しました。このモジュールの使い方は、会社全体にわたってです。だから私は誰もがモジュールを使用できるようにすべてのログファイルに対して666パーミッションを与えました。問題はjarファイルが内部的にlog4jを使用していて、アペンダーがDailyRollingFileAppenderで、ローリング後にログファイルのアクセス権を664にリセットしていて、一部の人がモジュールを使用できないという問題です。Log4J DailyRollingFileAppenderで既存のログファイルのアクセス許可を保持する方法

ログファイルの既存のアクセス許可を保持するためにlog4jに言及する方法はありますか?そうでない場合は誰でも代替案を提案できますか?

答えて

1

これは、オペレーティングシステムの責任において行われます。 Log4jがログをロールすると、OSは独自のルールに従って新しいファイルを作成します。

ログディレクトリにシェルを開き、touch testfileを実行すると、testfileのファイルは新しいlog4jファイルと同じ権限を持つ必要があります。これを手動で再現できるはずです。

ディレクトリのファイルアクセス権、そのディレクトリ内の新しいファイルによって継承されたアクセス権を調べる必要があります。また、ユーザーのumask設定で調整する必要があります。

log4jまたはjavaを使用せずに問題を再現できる場合は、解決しやすくなりますが、superuser.comで最もよく尋ねられます。