myLoggerとして静的なjava.util.logging.Logger変数があります。 現在のところ、コンソールにのみ出力するので、FileHandlerを追加する必要があります。 プロジェクトはプロファイルベースなので、コンパイル時に指定されたプロファイルに応じて、適切なapplication- {profile} .propertiesファイルがロードされます。このファイルには、各プロファイルのログファイルの場所が異なります。設定可能なFileHandlerをjava.util.logging.Loggerに追加
FileHandlerをapplication.propertiesの値でインスタンス化するにはどうすればよいですか?
コードスニペット:静的ブロックの初期化とのFileHandlerを追加したとき
private static String logFileName;
@Value("${loggingSftp.logFileName}")
public void setLogFileName(String logFileName) {
SftpConfiguration.logFileName = logFileName;
}
private static final Logger LOGGER = Logger.getLogger(SftpConfiguration.class.getPackage().getName());
private static FileHandler fileHandler;
static {
try {
LOGGER.info("log file name: " + logFileName);
fileHandler = new FileHandler(LoggingFileHandler.getLogFileName()
+ LocalDate.now().format(DateTimeFormatter.ofPattern("yyMMdd")));
LOGGER.addHandler(fileHandler);
} catch (IOException e) {
e.printStackTrace();
}
}
を今、LOGFILENAMEは 'NULL' です。
ありがとう@jmehrens、これは期待どおりに動作します。 – Nets