在我的默认 cstr 中,我实例化了我的 log4j 记录器,其中我想在运行时发送日志文件目录路径。
我的默认 cstr 有这个:
logger = new LoggerSetup().SetLogger(Logger.getLogger(ServiceController.class), "FileLogger", LogDirPath);
我在我的属性文件中设置了路径,我通过
@Value("#{settings['ApplicationLogDirPath']}")
private String LogDirPath;
但是,由于在连接之前调用@Value
了 cstr,因此 cstr 中的 LogDirPath 始终为空。
是否还有其他我应该使用的注释是否有更好的方法?
我想要实现的是从日志文件中动态设置 log4j 日志路径,此外我的控制器需要 2 个记录器,以便将应用程序级日志记录到一个位置,并且长时间运行的数据库调用 [控制器调用 biz 层] 写入到另一个位置。控制器在调用 biz 层之前记录,然后一旦 biz 层返回它就会记录该记录,因此会记录 2 个不同的日志文件。客户需要这种奇怪的日志记录,所以它就是这样