私のデフォルトのcstrでは、log4jロガーをインスタンス化しており、実行時にログファイルのdirパスを送信します。
私のデフォルトのcstrにはこれがあります:
logger = new LoggerSetup().SetLogger(Logger.getLogger(ServiceController.class), "FileLogger", LogDirPath);
プロパティファイルにパスを設定し、それを
@Value("#{settings['ApplicationLogDirPath']}")
private String LogDirPath;
ただし、@Value
が配線される前にcstrが呼び出されるため、cstrのLogDirPathは常にnullになります。
他に使用する必要のある別の注釈はありますか?より良い方法はありますか?
私が達成しようとしているのは、ログファイルから動的に設定されたlog4jログパスを設定することです。さらに、アプリケーションレベルのログが1つの場所に記録され、長時間実行されるデータベース呼び出し[コントローラーがbizレイヤーを呼び出す]が書き込むように、コントローラーには2つのロガーが必要です。別の場所に。コントローラは、bizレイヤーを呼び出す前にログを記録し、bizレイヤーが返されると、それをログに記録します。したがって、2つの異なるログファイルが記録されます。顧客はこの奇妙なログを必要としているので、それはそれが何であるかです