ソースを参照

fix #2790 Enhanced exception logging to warning level in action classes

Shinsuke Sugaya 1 年間 前
コミット
c1f8467d66
63 ファイル変更391 行追加37 行削除
  1. 7 0
      src/main/java/org/codelibs/fess/app/web/admin/accesstoken/AdminAccesstokenAction.java
  2. 8 0
      src/main/java/org/codelibs/fess/app/web/admin/badword/AdminBadwordAction.java
  3. 7 0
      src/main/java/org/codelibs/fess/app/web/admin/boostdoc/AdminBoostdocAction.java
  4. 7 0
      src/main/java/org/codelibs/fess/app/web/admin/dataconfig/AdminDataconfigAction.java
  5. 2 1
      src/main/java/org/codelibs/fess/app/web/admin/design/AdminDesignAction.java
  6. 8 0
      src/main/java/org/codelibs/fess/app/web/admin/dict/kuromoji/AdminDictKuromojiAction.java
  7. 8 0
      src/main/java/org/codelibs/fess/app/web/admin/dict/mapping/AdminDictMappingAction.java
  8. 5 0
      src/main/java/org/codelibs/fess/app/web/admin/dict/protwords/AdminDictProtwordsAction.java
  9. 8 0
      src/main/java/org/codelibs/fess/app/web/admin/dict/stemmeroverride/AdminDictStemmeroverrideAction.java
  10. 5 0
      src/main/java/org/codelibs/fess/app/web/admin/dict/stopwords/AdminDictStopwordsAction.java
  11. 8 0
      src/main/java/org/codelibs/fess/app/web/admin/dict/synonym/AdminDictSynonymAction.java
  12. 7 0
      src/main/java/org/codelibs/fess/app/web/admin/duplicatehost/AdminDuplicatehostAction.java
  13. 8 0
      src/main/java/org/codelibs/fess/app/web/admin/elevateword/AdminElevatewordAction.java
  14. 7 0
      src/main/java/org/codelibs/fess/app/web/admin/fileauth/AdminFileauthAction.java
  15. 7 0
      src/main/java/org/codelibs/fess/app/web/admin/fileconfig/AdminFileconfigAction.java
  16. 3 3
      src/main/java/org/codelibs/fess/app/web/admin/group/AdminGroupAction.java
  17. 7 0
      src/main/java/org/codelibs/fess/app/web/admin/keymatch/AdminKeymatchAction.java
  18. 7 0
      src/main/java/org/codelibs/fess/app/web/admin/labeltype/AdminLabeltypeAction.java
  19. 7 0
      src/main/java/org/codelibs/fess/app/web/admin/pathmap/AdminPathmapAction.java
  20. 7 0
      src/main/java/org/codelibs/fess/app/web/admin/relatedcontent/AdminRelatedcontentAction.java
  21. 7 0
      src/main/java/org/codelibs/fess/app/web/admin/relatedquery/AdminRelatedqueryAction.java
  22. 7 0
      src/main/java/org/codelibs/fess/app/web/admin/reqheader/AdminReqheaderAction.java
  23. 2 2
      src/main/java/org/codelibs/fess/app/web/admin/role/AdminRoleAction.java
  24. 9 0
      src/main/java/org/codelibs/fess/app/web/admin/scheduler/AdminSchedulerAction.java
  25. 6 5
      src/main/java/org/codelibs/fess/app/web/admin/searchlist/AdminSearchlistAction.java
  26. 4 8
      src/main/java/org/codelibs/fess/app/web/admin/storage/AdminStorageAction.java
  27. 3 3
      src/main/java/org/codelibs/fess/app/web/admin/user/AdminUserAction.java
  28. 7 0
      src/main/java/org/codelibs/fess/app/web/admin/webauth/AdminWebauthAction.java
  29. 7 0
      src/main/java/org/codelibs/fess/app/web/admin/webconfig/AdminWebconfigAction.java
  30. 1 1
      src/main/java/org/codelibs/fess/app/web/admin/wizard/AdminWizardAction.java
  31. 7 0
      src/main/java/org/codelibs/fess/app/web/api/admin/accesstoken/ApiAdminAccesstokenAction.java
  32. 9 0
      src/main/java/org/codelibs/fess/app/web/api/admin/badword/ApiAdminBadwordAction.java
  33. 7 0
      src/main/java/org/codelibs/fess/app/web/api/admin/boostdoc/ApiAdminBoostdocAction.java
  34. 6 0
      src/main/java/org/codelibs/fess/app/web/api/admin/crawlinginfo/ApiAdminCrawlinginfoAction.java
  35. 7 0
      src/main/java/org/codelibs/fess/app/web/api/admin/dataconfig/ApiAdminDataconfigAction.java
  36. 5 0
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/kuromoji/ApiAdminDictKuromojiAction.java
  37. 5 0
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/mapping/ApiAdminDictMappingAction.java
  38. 6 0
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/protwords/ApiAdminDictProtwordsAction.java
  39. 5 0
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/stemmeroverride/ApiAdminDictStemmeroverrideAction.java
  40. 6 0
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/stopwords/ApiAdminDictStopwordsAction.java
  41. 5 0
      src/main/java/org/codelibs/fess/app/web/api/admin/dict/synonym/ApiAdminDictSynonymAction.java
  42. 7 0
      src/main/java/org/codelibs/fess/app/web/api/admin/duplicatehost/ApiAdminDuplicatehostAction.java
  43. 9 0
      src/main/java/org/codelibs/fess/app/web/api/admin/elevateword/ApiAdminElevatewordAction.java
  44. 6 0
      src/main/java/org/codelibs/fess/app/web/api/admin/failureurl/ApiAdminFailureurlAction.java
  45. 7 0
      src/main/java/org/codelibs/fess/app/web/api/admin/fileauth/ApiAdminFileauthAction.java
  46. 7 0
      src/main/java/org/codelibs/fess/app/web/api/admin/fileconfig/ApiAdminFileconfigAction.java
  47. 6 0
      src/main/java/org/codelibs/fess/app/web/api/admin/group/ApiAdminGroupAction.java
  48. 5 0
      src/main/java/org/codelibs/fess/app/web/api/admin/joblog/ApiAdminJoblogAction.java
  49. 7 0
      src/main/java/org/codelibs/fess/app/web/api/admin/keymatch/ApiAdminKeymatchAction.java
  50. 7 0
      src/main/java/org/codelibs/fess/app/web/api/admin/labeltype/ApiAdminLabeltypeAction.java
  51. 7 0
      src/main/java/org/codelibs/fess/app/web/api/admin/pathmap/ApiAdminPathmapAction.java
  52. 7 0
      src/main/java/org/codelibs/fess/app/web/api/admin/relatedcontent/ApiAdminRelatedcontentAction.java
  53. 7 0
      src/main/java/org/codelibs/fess/app/web/api/admin/relatedquery/ApiAdminRelatedqueryAction.java
  54. 7 0
      src/main/java/org/codelibs/fess/app/web/api/admin/reqheader/ApiAdminReqheaderAction.java
  55. 7 0
      src/main/java/org/codelibs/fess/app/web/api/admin/role/ApiAdminRoleAction.java
  56. 8 0
      src/main/java/org/codelibs/fess/app/web/api/admin/scheduler/ApiAdminSchedulerAction.java
  57. 5 4
      src/main/java/org/codelibs/fess/app/web/api/admin/searchlist/ApiAdminSearchlistAction.java
  58. 3 9
      src/main/java/org/codelibs/fess/app/web/api/admin/storage/ApiAdminStorageAction.java
  59. 7 0
      src/main/java/org/codelibs/fess/app/web/api/admin/user/ApiAdminUserAction.java
  60. 7 0
      src/main/java/org/codelibs/fess/app/web/api/admin/webauth/ApiAdminWebauthAction.java
  61. 7 0
      src/main/java/org/codelibs/fess/app/web/api/admin/webconfig/ApiAdminWebconfigAction.java
  62. 3 0
      src/main/java/org/codelibs/fess/app/web/login/LoginAction.java
  63. 1 1
      src/main/java/org/codelibs/fess/app/web/profile/ProfileAction.java

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/admin/accesstoken/AdminAccesstokenAction.java

@@ -20,6 +20,8 @@ import static org.codelibs.core.stream.StreamUtil.stream;
 
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.beans.util.BeanUtil;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
@@ -47,6 +49,8 @@ import jakarta.annotation.Resource;
  */
 public class AdminAccesstokenAction extends FessAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(AdminAccesstokenAction.class);
+
     public static final String ROLE = "admin-accesstoken";
 
     public static final String TOKEN = "token";
@@ -205,6 +209,7 @@ public class AdminAccesstokenAction extends FessAdminAction {
                 accessTokenService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -225,6 +230,7 @@ public class AdminAccesstokenAction extends FessAdminAction {
                 accessTokenService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -246,6 +252,7 @@ public class AdminAccesstokenAction extends FessAdminAction {
                 accessTokenService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 8 - 0
src/main/java/org/codelibs/fess/app/web/admin/badword/AdminBadwordAction.java

@@ -25,6 +25,8 @@ import java.io.Writer;
 import java.nio.file.Files;
 import java.nio.file.Path;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.beans.util.BeanUtil;
 import org.codelibs.core.concurrent.CommonPoolUtil;
 import org.codelibs.fess.Constants;
@@ -56,6 +58,8 @@ public class AdminBadwordAction extends FessAdminAction {
 
     public static final String ROLE = "admin-badword";
 
+    private static final Logger logger = LogManager.getLogger(AdminBadwordAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -208,6 +212,7 @@ public class AdminBadwordAction extends FessAdminAction {
                 try (Writer writer = new BufferedWriter(new OutputStreamWriter(Files.newOutputStream(tempFile), getCsvEncoding()))) {
                     badWordService.exportCsv(writer);
                 } catch (final Exception e) {
+                    logger.warn("Failed to process a request.", e);
                     throwValidationError(messages -> messages.addErrorsFailedToDownloadBadwordFile(GLOBAL), this::asDownloadHtml);
                 }
                 try (InputStream in = Files.newInputStream(tempFile)) {
@@ -244,6 +249,7 @@ public class AdminBadwordAction extends FessAdminAction {
                 suggestHelper.addBadWord(entity.getSuggestWord(), false);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -265,6 +271,7 @@ public class AdminBadwordAction extends FessAdminAction {
                 suggestHelper.storeAllBadWords(false);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -287,6 +294,7 @@ public class AdminBadwordAction extends FessAdminAction {
                 suggestHelper.deleteBadWord(entity.getSuggestWord());
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asDetailsHtml);
             }

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/admin/boostdoc/AdminBoostdocAction.java

@@ -15,6 +15,8 @@
  */
 package org.codelibs.fess.app.web.admin.boostdoc;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.beans.util.BeanUtil;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.annotation.Secured;
@@ -42,6 +44,8 @@ public class AdminBoostdocAction extends FessAdminAction {
 
     public static final String ROLE = "admin-boostdoc";
 
+    private static final Logger logger = LogManager.getLogger(AdminBoostdocAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -185,6 +189,7 @@ public class AdminBoostdocAction extends FessAdminAction {
                 boostDocumentRuleService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -205,6 +210,7 @@ public class AdminBoostdocAction extends FessAdminAction {
                 boostDocumentRuleService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -226,6 +232,7 @@ public class AdminBoostdocAction extends FessAdminAction {
                 boostDocumentRuleService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/admin/dataconfig/AdminDataconfigAction.java

@@ -25,6 +25,8 @@ import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.annotation.Secured;
@@ -57,6 +59,8 @@ public class AdminDataconfigAction extends FessAdminAction {
 
     public static final String ROLE = "admin-dataconfig";
 
+    private static final Logger logger = LogManager.getLogger(AdminDataconfigAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -231,6 +235,7 @@ public class AdminDataconfigAction extends FessAdminAction {
                 dataConfigService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -251,6 +256,7 @@ public class AdminDataconfigAction extends FessAdminAction {
                 dataConfigService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -272,6 +278,7 @@ public class AdminDataconfigAction extends FessAdminAction {
                 dataConfigService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 2 - 1
src/main/java/org/codelibs/fess/app/web/admin/design/AdminDesignAction.java

@@ -135,6 +135,7 @@ public class AdminDesignAction extends FessAdminAction {
                     fileName = fileName.substring(pos + 1);
                 }
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsDesignFileNameIsInvalid("designFile"), this::asListHtml);
             }
         }
@@ -274,7 +275,7 @@ public class AdminDesignAction extends FessAdminAction {
             write(jspFile.getAbsolutePath(), form.content.getBytes(Constants.UTF_8));
             saveInfo(messages -> messages.addSuccessUpdateDesignJspFile(GLOBAL, jspFile.getAbsolutePath()));
         } catch (final Exception e) {
-            logger.error("Failed to update {}", form.fileName, e);
+            logger.warn("Failed to update {}", form.fileName, e);
             throwValidationError(messages -> messages.addErrorsFailedToUpdateJspFile(GLOBAL), this::asListHtml);
         }
         return redirect(getClass());

+ 8 - 0
src/main/java/org/codelibs/fess/app/web/admin/dict/kuromoji/AdminDictKuromojiAction.java

@@ -19,6 +19,8 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.beans.util.BeanUtil;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
@@ -52,6 +54,8 @@ public class AdminDictKuromojiAction extends FessAdminAction {
 
     public static final String ROLE = "admin-dict";
 
+    private static final Logger logger = LogManager.getLogger(AdminDictKuromojiAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -258,6 +262,7 @@ public class AdminDictKuromojiAction extends FessAdminAction {
             try (InputStream inputStream = form.kuromojiFile.getInputStream()) {
                 file.update(inputStream);
             } catch (final IOException e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsFailedToUploadKuromojiFile(GLOBAL),
                         () -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
             }
@@ -285,6 +290,7 @@ public class AdminDictKuromojiAction extends FessAdminAction {
                 kuromojiService.store(form.dictId, entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -306,6 +312,7 @@ public class AdminDictKuromojiAction extends FessAdminAction {
                 kuromojiService.store(form.dictId, entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -326,6 +333,7 @@ public class AdminDictKuromojiAction extends FessAdminAction {
                 kuromojiService.delete(form.dictId, entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 8 - 0
src/main/java/org/codelibs/fess/app/web/admin/dict/mapping/AdminDictMappingAction.java

@@ -21,6 +21,8 @@ import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.beans.util.BeanUtil;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
@@ -54,6 +56,8 @@ public class AdminDictMappingAction extends FessAdminAction {
 
     public static final String ROLE = "admin-dict";
 
+    private static final Logger logger = LogManager.getLogger(AdminDictMappingAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -261,6 +265,7 @@ public class AdminDictMappingAction extends FessAdminAction {
             try (InputStream inputStream = form.charMappingFile.getInputStream()) {
                 file.update(inputStream);
             } catch (final IOException e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsFailedToUploadMappingFile(GLOBAL),
                         () -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
             }
@@ -287,6 +292,7 @@ public class AdminDictMappingAction extends FessAdminAction {
                 charMappingService.store(form.dictId, entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -307,6 +313,7 @@ public class AdminDictMappingAction extends FessAdminAction {
                 charMappingService.store(form.dictId, entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -327,6 +334,7 @@ public class AdminDictMappingAction extends FessAdminAction {
                 charMappingService.delete(form.dictId, entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 5 - 0
src/main/java/org/codelibs/fess/app/web/admin/dict/protwords/AdminDictProtwordsAction.java

@@ -19,6 +19,8 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.beans.util.BeanUtil;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
@@ -51,6 +53,8 @@ public class AdminDictProtwordsAction extends FessAdminAction {
 
     public static final String ROLE = "admin-dict";
 
+    private static final Logger logger = LogManager.getLogger(AdminDictProtwordsAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -256,6 +260,7 @@ public class AdminDictProtwordsAction extends FessAdminAction {
             try (InputStream inputStream = form.protwordsFile.getInputStream()) {
                 file.update(inputStream);
             } catch (final IOException e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsFailedToUploadProtwordsFile(GLOBAL),
                         () -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
             }

+ 8 - 0
src/main/java/org/codelibs/fess/app/web/admin/dict/stemmeroverride/AdminDictStemmeroverrideAction.java

@@ -19,6 +19,8 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.beans.util.BeanUtil;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
@@ -51,6 +53,8 @@ public class AdminDictStemmeroverrideAction extends FessAdminAction {
 
     public static final String ROLE = "admin-dict";
 
+    private static final Logger logger = LogManager.getLogger(AdminDictStemmeroverrideAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -259,6 +263,7 @@ public class AdminDictStemmeroverrideAction extends FessAdminAction {
             try (InputStream inputStream = form.stemmerOverrideFile.getInputStream()) {
                 file.update(inputStream);
             } catch (final IOException e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsFailedToUploadStemmeroverrideFile(GLOBAL),
                         () -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
             }
@@ -285,6 +290,7 @@ public class AdminDictStemmeroverrideAction extends FessAdminAction {
                 stemmerOverrideService.store(form.dictId, entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -305,6 +311,7 @@ public class AdminDictStemmeroverrideAction extends FessAdminAction {
                 stemmerOverrideService.store(form.dictId, entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -326,6 +333,7 @@ public class AdminDictStemmeroverrideAction extends FessAdminAction {
                 stemmerOverrideService.delete(form.dictId, entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 5 - 0
src/main/java/org/codelibs/fess/app/web/admin/dict/stopwords/AdminDictStopwordsAction.java

@@ -19,6 +19,8 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.beans.util.BeanUtil;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
@@ -49,6 +51,8 @@ public class AdminDictStopwordsAction extends FessAdminAction {
 
     public static final String ROLE = "admin-dict";
 
+    private static final Logger logger = LogManager.getLogger(AdminDictStopwordsAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -254,6 +258,7 @@ public class AdminDictStopwordsAction extends FessAdminAction {
             try (InputStream inputStream = form.stopwordsFile.getInputStream()) {
                 file.update(inputStream);
             } catch (final IOException e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsFailedToUploadStopwordsFile(GLOBAL),
                         () -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
             }

+ 8 - 0
src/main/java/org/codelibs/fess/app/web/admin/dict/synonym/AdminDictSynonymAction.java

@@ -21,6 +21,8 @@ import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.beans.util.BeanUtil;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
@@ -54,6 +56,8 @@ public class AdminDictSynonymAction extends FessAdminAction {
 
     public static final String ROLE = "admin-dict";
 
+    private static final Logger logger = LogManager.getLogger(AdminDictSynonymAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -261,6 +265,7 @@ public class AdminDictSynonymAction extends FessAdminAction {
             try (InputStream inputStream = form.synonymFile.getInputStream()) {
                 file.update(inputStream);
             } catch (final IOException e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsFailedToUploadSynonymFile(GLOBAL),
                         () -> redirectWith(getClass(), moreUrl("uploadpage/" + form.dictId)));
             }
@@ -287,6 +292,7 @@ public class AdminDictSynonymAction extends FessAdminAction {
                 synonymService.store(form.dictId, entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -307,6 +313,7 @@ public class AdminDictSynonymAction extends FessAdminAction {
                 synonymService.store(form.dictId, entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -328,6 +335,7 @@ public class AdminDictSynonymAction extends FessAdminAction {
                 synonymService.delete(form.dictId, entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/admin/duplicatehost/AdminDuplicatehostAction.java

@@ -15,6 +15,8 @@
  */
 package org.codelibs.fess.app.web.admin.duplicatehost;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.annotation.Secured;
 import org.codelibs.fess.app.pager.DuplicateHostPager;
@@ -42,6 +44,8 @@ public class AdminDuplicatehostAction extends FessAdminAction {
 
     public static final String ROLE = "admin-duplicatehost";
 
+    private static final Logger logger = LogManager.getLogger(AdminDuplicatehostAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -185,6 +189,7 @@ public class AdminDuplicatehostAction extends FessAdminAction {
                 duplicateHostService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -205,6 +210,7 @@ public class AdminDuplicatehostAction extends FessAdminAction {
                 duplicateHostService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -226,6 +232,7 @@ public class AdminDuplicatehostAction extends FessAdminAction {
                 duplicateHostService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 8 - 0
src/main/java/org/codelibs/fess/app/web/admin/elevateword/AdminElevatewordAction.java

@@ -30,6 +30,8 @@ import java.nio.file.Path;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.beans.util.BeanUtil;
 import org.codelibs.core.concurrent.CommonPoolUtil;
 import org.codelibs.core.lang.StringUtil;
@@ -64,6 +66,8 @@ public class AdminElevatewordAction extends FessAdminAction {
 
     public static final String ROLE = "admin-elevateword";
 
+    private static final Logger logger = LogManager.getLogger(AdminElevatewordAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -226,6 +230,7 @@ public class AdminElevatewordAction extends FessAdminAction {
                 try (Writer writer = new BufferedWriter(new OutputStreamWriter(Files.newOutputStream(tempFile), getCsvEncoding()))) {
                     elevateWordService.exportCsv(writer);
                 } catch (final Exception e) {
+                    logger.warn("Failed to process a request.", e);
                     throwValidationError(messages -> messages.addErrorsFailedToDownloadElevateFile(GLOBAL), this::asDownloadHtml);
                 }
                 try (InputStream in = Files.newInputStream(tempFile)) {
@@ -263,6 +268,7 @@ public class AdminElevatewordAction extends FessAdminAction {
                         entity.getPermissions(), entity.getBoost(), false);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -285,6 +291,7 @@ public class AdminElevatewordAction extends FessAdminAction {
                 suggestHelper.storeAllElevateWords(false);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -307,6 +314,7 @@ public class AdminElevatewordAction extends FessAdminAction {
                 suggestHelper.deleteElevateWord(entity.getSuggestWord(), false);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/admin/fileauth/AdminFileauthAction.java

@@ -21,6 +21,8 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.annotation.Secured;
 import org.codelibs.fess.app.pager.FileAuthPager;
@@ -50,6 +52,8 @@ public class AdminFileauthAction extends FessAdminAction {
 
     public static final String ROLE = "admin-fileauth";
 
+    private static final Logger logger = LogManager.getLogger(AdminFileauthAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -200,6 +204,7 @@ public class AdminFileauthAction extends FessAdminAction {
                 fileAuthenticationService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -220,6 +225,7 @@ public class AdminFileauthAction extends FessAdminAction {
                 fileAuthenticationService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -241,6 +247,7 @@ public class AdminFileauthAction extends FessAdminAction {
                 fileAuthenticationService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/admin/fileconfig/AdminFileconfigAction.java

@@ -21,6 +21,8 @@ import static org.codelibs.core.stream.StreamUtil.stream;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.annotation.Secured;
@@ -53,6 +55,8 @@ public class AdminFileconfigAction extends FessAdminAction {
 
     public static final String ROLE = "admin-fileconfig";
 
+    private static final Logger logger = LogManager.getLogger(AdminFileconfigAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -223,6 +227,7 @@ public class AdminFileconfigAction extends FessAdminAction {
                 fileConfigService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -243,6 +248,7 @@ public class AdminFileconfigAction extends FessAdminAction {
                 fileConfigService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -264,6 +270,7 @@ public class AdminFileconfigAction extends FessAdminAction {
                 fileConfigService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 3 - 3
src/main/java/org/codelibs/fess/app/web/admin/group/AdminGroupAction.java

@@ -195,7 +195,7 @@ public class AdminGroupAction extends FessAdminAction {
                 groupService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
-                logger.error("Failed to add {}", entity, e);
+                logger.warn("Failed to add {}", entity, e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -217,7 +217,7 @@ public class AdminGroupAction extends FessAdminAction {
                 groupService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
-                logger.error("Failed to update {}", entity, e);
+                logger.warn("Failed to update {}", entity, e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -239,7 +239,7 @@ public class AdminGroupAction extends FessAdminAction {
                 groupService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
-                logger.error("Failed to delete {}", entity, e);
+                logger.warn("Failed to delete {}", entity, e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asDetailsHtml);
             }

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/admin/keymatch/AdminKeymatchAction.java

@@ -19,6 +19,8 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.annotation.Secured;
 import org.codelibs.fess.app.pager.KeyMatchPager;
@@ -47,6 +49,8 @@ public class AdminKeymatchAction extends FessAdminAction {
 
     public static final String ROLE = "admin-keymatch";
 
+    private static final Logger logger = LogManager.getLogger(AdminKeymatchAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -197,6 +201,7 @@ public class AdminKeymatchAction extends FessAdminAction {
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
                 ComponentUtil.getKeyMatchHelper().update();
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -218,6 +223,7 @@ public class AdminKeymatchAction extends FessAdminAction {
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
                 ComponentUtil.getKeyMatchHelper().update();
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -240,6 +246,7 @@ public class AdminKeymatchAction extends FessAdminAction {
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
                 ComponentUtil.getKeyMatchHelper().update();
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/admin/labeltype/AdminLabeltypeAction.java

@@ -21,6 +21,8 @@ import static org.codelibs.core.stream.StreamUtil.stream;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.annotation.Secured;
@@ -52,6 +54,8 @@ public class AdminLabeltypeAction extends FessAdminAction {
 
     public static final String ROLE = "admin-labeltype";
 
+    private static final Logger logger = LogManager.getLogger(AdminLabeltypeAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -211,6 +215,7 @@ public class AdminLabeltypeAction extends FessAdminAction {
                 labelTypeService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -231,6 +236,7 @@ public class AdminLabeltypeAction extends FessAdminAction {
                 labelTypeService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -252,6 +258,7 @@ public class AdminLabeltypeAction extends FessAdminAction {
                 labelTypeService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/admin/pathmap/AdminPathmapAction.java

@@ -15,6 +15,8 @@
  */
 package org.codelibs.fess.app.web.admin.pathmap;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.annotation.Secured;
 import org.codelibs.fess.app.pager.PathMapPager;
@@ -43,6 +45,8 @@ public class AdminPathmapAction extends FessAdminAction {
 
     public static final String ROLE = "admin-pathmap";
 
+    private static final Logger logger = LogManager.getLogger(AdminPathmapAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -186,6 +190,7 @@ public class AdminPathmapAction extends FessAdminAction {
                 pathMappingService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -206,6 +211,7 @@ public class AdminPathmapAction extends FessAdminAction {
                 pathMappingService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -227,6 +233,7 @@ public class AdminPathmapAction extends FessAdminAction {
                 pathMappingService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/admin/relatedcontent/AdminRelatedcontentAction.java

@@ -15,6 +15,8 @@
  */
 package org.codelibs.fess.app.web.admin.relatedcontent;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.beans.util.BeanUtil;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.annotation.Secured;
@@ -42,6 +44,8 @@ public class AdminRelatedcontentAction extends FessAdminAction {
 
     public static final String ROLE = "admin-relatedcontent";
 
+    private static final Logger logger = LogManager.getLogger(AdminRelatedcontentAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -185,6 +189,7 @@ public class AdminRelatedcontentAction extends FessAdminAction {
                 relatedContentService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -205,6 +210,7 @@ public class AdminRelatedcontentAction extends FessAdminAction {
                 relatedContentService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -226,6 +232,7 @@ public class AdminRelatedcontentAction extends FessAdminAction {
                 relatedContentService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/admin/relatedquery/AdminRelatedqueryAction.java

@@ -21,6 +21,8 @@ import static org.codelibs.core.stream.StreamUtil.stream;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.beans.util.BeanUtil;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
@@ -49,6 +51,8 @@ public class AdminRelatedqueryAction extends FessAdminAction {
 
     public static final String ROLE = "admin-relatedquery";
 
+    private static final Logger logger = LogManager.getLogger(AdminRelatedqueryAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -200,6 +204,7 @@ public class AdminRelatedqueryAction extends FessAdminAction {
                 relatedQueryService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -220,6 +225,7 @@ public class AdminRelatedqueryAction extends FessAdminAction {
                 relatedQueryService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -241,6 +247,7 @@ public class AdminRelatedqueryAction extends FessAdminAction {
                 relatedQueryService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/admin/reqheader/AdminReqheaderAction.java

@@ -20,6 +20,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.annotation.Secured;
 import org.codelibs.fess.app.pager.ReqHeaderPager;
@@ -50,6 +52,8 @@ public class AdminReqheaderAction extends FessAdminAction {
 
     public static final String ROLE = "admin-reqheader";
 
+    private static final Logger logger = LogManager.getLogger(AdminReqheaderAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -198,6 +202,7 @@ public class AdminReqheaderAction extends FessAdminAction {
                 requestHeaderService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -218,6 +223,7 @@ public class AdminReqheaderAction extends FessAdminAction {
                 requestHeaderService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -239,6 +245,7 @@ public class AdminReqheaderAction extends FessAdminAction {
                 requestHeaderService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 2 - 2
src/main/java/org/codelibs/fess/app/web/admin/role/AdminRoleAction.java

@@ -170,7 +170,7 @@ public class AdminRoleAction extends FessAdminAction {
                 roleService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
-                logger.error("Failed to add {}", entity, e);
+                logger.warn("Failed to add {}", entity, e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -192,7 +192,7 @@ public class AdminRoleAction extends FessAdminAction {
                 roleService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
-                logger.error("Failed to delete {}", entity, e);
+                logger.warn("Failed to delete {}", entity, e);
                 throwValidationError(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id), this::asDetailsHtml);
             }
         }).orElse(() -> {

+ 9 - 0
src/main/java/org/codelibs/fess/app/web/admin/scheduler/AdminSchedulerAction.java

@@ -18,6 +18,8 @@ package org.codelibs.fess.app.web.admin.scheduler;
 import java.text.MessageFormat;
 import java.util.Base64;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.annotation.Secured;
 import org.codelibs.fess.app.pager.SchedulerPager;
@@ -47,6 +49,8 @@ public class AdminSchedulerAction extends FessAdminAction {
 
     public static final String ROLE = "admin-scheduler";
 
+    private static final Logger logger = LogManager.getLogger(AdminSchedulerAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -225,6 +229,7 @@ public class AdminSchedulerAction extends FessAdminAction {
                 scheduledJobService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -245,6 +250,7 @@ public class AdminSchedulerAction extends FessAdminAction {
                 scheduledJobService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -266,6 +272,7 @@ public class AdminSchedulerAction extends FessAdminAction {
                 scheduledJobService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -292,6 +299,7 @@ public class AdminSchedulerAction extends FessAdminAction {
                 entity.start();
                 saveInfo(messages -> messages.addSuccessJobStarted(GLOBAL, entity.getName()));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> {
                     messages.addErrorsFailedToStartJob(GLOBAL, entity.getName());
                 }, () -> asDetailsHtml(id));
@@ -316,6 +324,7 @@ public class AdminSchedulerAction extends FessAdminAction {
                 entity.stop();
                 saveInfo(messages -> messages.addSuccessJobStopped(GLOBAL, entity.getName()));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> {
                     messages.addErrorsFailedToStopJob(GLOBAL, entity.getName());
                 }, () -> asDetailsHtml(id));

+ 6 - 5
src/main/java/org/codelibs/fess/app/web/admin/searchlist/AdminSearchlistAction.java

@@ -145,12 +145,12 @@ public class AdminSearchlistAction extends FessAdminAction {
             });
         } catch (final InvalidQueryException e) {
             if (logger.isDebugEnabled()) {
-                logger.debug(e.getMessage(), e);
+                logger.debug("Invalid query: {}", form.q, e);
             }
             throwValidationError(e.getMessageCode(), this::asListHtml);
         } catch (final ResultOffsetExceededException e) {
             if (logger.isDebugEnabled()) {
-                logger.debug(e.getMessage(), e);
+                logger.debug("Invalid offset: {}", form.offset, e);
             }
             throwValidationError(messages -> messages.addErrorsResultSizeExceeded(GLOBAL), this::asListHtml);
         }
@@ -215,6 +215,7 @@ public class AdminSearchlistAction extends FessAdminAction {
             searchEngineClient.deleteByQuery(fessConfig.getIndexDocumentUpdateIndex(), query);
             saveInfo(messages -> messages.addSuccessDeleteDocFromIndex(GLOBAL));
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationError(messages -> messages.addErrorsFailedToDeleteDocInAdmin(GLOBAL), this::asListHtml);
         }
         return asListHtml();
@@ -230,7 +231,7 @@ public class AdminSearchlistAction extends FessAdminAction {
             saveInfo(messages -> messages.addSuccessDeleteDocFromIndex(GLOBAL));
         } catch (final InvalidQueryException e) {
             if (logger.isDebugEnabled()) {
-                logger.debug(e.getMessage(), e);
+                logger.debug("Invalid query: {}", form.q, e);
             }
             throwValidationError(e.getMessageCode(), this::asListHtml);
         }
@@ -283,7 +284,7 @@ public class AdminSearchlistAction extends FessAdminAction {
                 searchEngineClient.store(index, entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
-                logger.error("Failed to add {}", entity, e);
+                logger.warn("Failed to add {}", entity, e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -320,7 +321,7 @@ public class AdminSearchlistAction extends FessAdminAction {
                 searchEngineClient.store(index, entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
-                logger.error("Failed to update {}", entity, e);
+                logger.warn("Failed to update {}", entity, e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 4 - 8
src/main/java/org/codelibs/fess/app/web/admin/storage/AdminStorageAction.java

@@ -102,9 +102,7 @@ public class AdminStorageAction extends FessAdminAction {
         try {
             uploadObject(getObjectName(form.path, form.uploadFile.getFileName()), form.uploadFile);
         } catch (final StorageException e) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("Failed to upload {}", form.uploadFile.getFileName(), e);
-            }
+            logger.warn("Failed to upload {}", form.uploadFile.getFileName(), e);
             throwValidationError(messages -> messages.addErrorsStorageFileUploadFailure(GLOBAL, form.uploadFile.getFileName()),
                     () -> asListHtml(encodeId(form.path)));
 
@@ -132,9 +130,7 @@ public class AdminStorageAction extends FessAdminAction {
             try {
                 downloadObject(getObjectName(pi.getPath(), pi.getName()), out);
             } catch (final StorageException e) {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("Failed to download {}", pi.getName(), e);
-                }
+                logger.warn("Failed to download {}", pi.getName(), e);
                 throwValidationError(messages -> messages.addErrorsStorageFileDownloadFailure(GLOBAL, pi.getName()),
                         () -> asListHtml(encodeId(pi.getPath())));
             }
@@ -152,7 +148,7 @@ public class AdminStorageAction extends FessAdminAction {
         try {
             deleteObject(objectName);
         } catch (final StorageException e) {
-            logger.debug("Failed to delete {}", pi.getName(), e);
+            logger.warn("Failed to delete {}", pi.getName(), e);
             throwValidationError(messages -> messages.addErrorsFailedToDeleteFile(GLOBAL, pi.getName()),
                     () -> asListHtml(encodeId(pi.getPath())));
         }
@@ -186,7 +182,7 @@ public class AdminStorageAction extends FessAdminAction {
         try {
             updateObjectTags(objectName, form.tags);
         } catch (final StorageException e) {
-            logger.debug("Failed to update tags in {}", form.path, e);
+            logger.warn("Failed to update tags in {}", form.path, e);
             throwValidationError(messages -> messages.addErrorsStorageTagsUpdateFailure(GLOBAL, objectName),
                     () -> asEditTagsHtml(form.path, form.name));
         }

+ 3 - 3
src/main/java/org/codelibs/fess/app/web/admin/user/AdminUserAction.java

@@ -218,7 +218,7 @@ public class AdminUserAction extends FessAdminAction {
                 userService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
-                logger.error("Failed to add {}", entity, e);
+                logger.warn("Failed to add {}", entity, e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -241,7 +241,7 @@ public class AdminUserAction extends FessAdminAction {
                 userService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
-                logger.error("Failed to update {}", entity, e);
+                logger.warn("Failed to update {}", entity, e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -268,7 +268,7 @@ public class AdminUserAction extends FessAdminAction {
                 userService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
-                logger.error("Failed to delete {}", entity, e);
+                logger.warn("Failed to delete {}", entity, e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asDetailsHtml);
             }

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/admin/webauth/AdminWebauthAction.java

@@ -21,6 +21,8 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.annotation.Secured;
 import org.codelibs.fess.app.pager.WebAuthPager;
@@ -50,6 +52,8 @@ public class AdminWebauthAction extends FessAdminAction {
 
     public static final String ROLE = "admin-webauth";
 
+    private static final Logger logger = LogManager.getLogger(AdminWebauthAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -201,6 +205,7 @@ public class AdminWebauthAction extends FessAdminAction {
                 webAuthenticationService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -221,6 +226,7 @@ public class AdminWebauthAction extends FessAdminAction {
                 webAuthenticationService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -242,6 +248,7 @@ public class AdminWebauthAction extends FessAdminAction {
                 webAuthenticationService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/admin/webconfig/AdminWebconfigAction.java

@@ -21,6 +21,8 @@ import static org.codelibs.core.stream.StreamUtil.stream;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.annotation.Secured;
@@ -55,6 +57,8 @@ public class AdminWebconfigAction extends FessAdminAction {
 
     public static final String ROLE = "admin-webconfig";
 
+    private static final Logger logger = LogManager.getLogger(AdminWebconfigAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -231,6 +235,7 @@ public class AdminWebconfigAction extends FessAdminAction {
                 webConfigService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -251,6 +256,7 @@ public class AdminWebconfigAction extends FessAdminAction {
                 webConfigService.store(entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }
@@ -272,6 +278,7 @@ public class AdminWebconfigAction extends FessAdminAction {
                 webConfigService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationError(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)),
                         this::asEditHtml);
             }

+ 1 - 1
src/main/java/org/codelibs/fess/app/web/admin/wizard/AdminWizardAction.java

@@ -215,7 +215,7 @@ public class AdminWizardAction extends FessAdminAction {
             }
             return configName;
         } catch (final Exception e) {
-            logger.error("Failed to create crawling config: {}", form.crawlingConfigPath, e);
+            logger.warn("Failed to create crawling config: {}", form.crawlingConfigPath, e);
             throwValidationError(messages -> messages.addErrorsFailedToCreateCrawlingConfigAtWizard(GLOBAL),
                     () -> asHtml(path_AdminWizard_AdminWizardConfigJsp));
             return null;

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/accesstoken/ApiAdminAccesstokenAction.java

@@ -21,6 +21,8 @@ import static org.codelibs.fess.app.web.admin.accesstoken.AdminAccesstokenAction
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.AccessTokenPager;
@@ -44,6 +46,8 @@ import org.lastaflute.web.response.JsonResponse;
  */
 public class ApiAdminAccesstokenAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminAccesstokenAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -82,6 +86,7 @@ public class ApiAdminAccesstokenAction extends FessApiAdminAction {
             try {
                 accessTokenService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -101,6 +106,7 @@ public class ApiAdminAccesstokenAction extends FessApiAdminAction {
             try {
                 accessTokenService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -119,6 +125,7 @@ public class ApiAdminAccesstokenAction extends FessApiAdminAction {
                 accessTokenService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
         }).orElse(() -> {

+ 9 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/badword/ApiAdminBadwordAction.java

@@ -29,6 +29,8 @@ import java.nio.file.Path;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.concurrent.CommonPoolUtil;
 import org.codelibs.fess.app.pager.BadWordPager;
 import org.codelibs.fess.app.service.BadWordService;
@@ -50,6 +52,8 @@ import jakarta.annotation.Resource;
 
 public class ApiAdminBadwordAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminBadwordAction.class);
+
     @Resource
     private BadWordService badWordService;
 
@@ -96,6 +100,7 @@ public class ApiAdminBadwordAction extends FessApiAdminAction {
             badWordService.store(entity);
             suggestHelper.addBadWord(entity.getSuggestWord(), false);
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResult.ApiUpdateResponse().id(entity.getId()).created(true).status(ApiResult.Status.OK).result());
@@ -111,6 +116,7 @@ public class ApiAdminBadwordAction extends FessApiAdminAction {
                 badWordService.store(entity);
                 suggestHelper.storeAllBadWords(false);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -132,12 +138,14 @@ public class ApiAdminBadwordAction extends FessApiAdminAction {
                     suggestHelper.deleteBadWord(entity.getSuggestWord());
                     saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
                 } catch (final Exception e) {
+                    logger.warn("Failed to process a request.", e);
                     throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
                 }
             }).orElse(() -> {
                 throwValidationErrorApi(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id));
             });
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResult.ApiUpdateResponse().id(id).created(false).status(ApiResult.Status.OK).result());
@@ -168,6 +176,7 @@ public class ApiAdminBadwordAction extends FessApiAdminAction {
                 try (Writer writer = new BufferedWriter(new OutputStreamWriter(Files.newOutputStream(tempFile), getCsvEncoding()))) {
                     badWordService.exportCsv(writer);
                 } catch (final Exception e) {
+                    logger.warn("Failed to process a request.", e);
                     throwValidationErrorApi(messages -> messages.addErrorsFailedToDownloadBadwordFile(GLOBAL));
                 }
                 try (InputStream in = Files.newInputStream(tempFile)) {

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/boostdoc/ApiAdminBoostdocAction.java

@@ -20,6 +20,8 @@ import static org.codelibs.fess.app.web.admin.boostdoc.AdminBoostdocAction.getBo
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.beans.util.CopyOptions;
 import org.codelibs.fess.app.pager.BoostDocPager;
 import org.codelibs.fess.app.service.BoostDocumentRuleService;
@@ -42,6 +44,8 @@ import jakarta.annotation.Resource;
  */
 public class ApiAdminBoostdocAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminBoostdocAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -82,6 +86,7 @@ public class ApiAdminBoostdocAction extends FessApiAdminAction {
             try {
                 boostDocumentRuleService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -101,6 +106,7 @@ public class ApiAdminBoostdocAction extends FessApiAdminAction {
             try {
                 boostDocumentRuleService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -119,6 +125,7 @@ public class ApiAdminBoostdocAction extends FessApiAdminAction {
                 boostDocumentRuleService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
         }).orElse(() -> {

+ 6 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/crawlinginfo/ApiAdminCrawlinginfoAction.java

@@ -18,6 +18,8 @@ package org.codelibs.fess.app.web.api.admin.crawlinginfo;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.app.pager.CrawlingInfoPager;
 import org.codelibs.fess.app.service.CrawlingInfoService;
 import org.codelibs.fess.app.web.api.ApiResult;
@@ -37,6 +39,8 @@ import jakarta.annotation.Resource;
  */
 public class ApiAdminCrawlinginfoAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminCrawlinginfoAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -77,6 +81,7 @@ public class ApiAdminCrawlinginfoAction extends FessApiAdminAction {
                 crawlingInfoService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
         }).orElse(() -> {
@@ -92,6 +97,7 @@ public class ApiAdminCrawlinginfoAction extends FessApiAdminAction {
             crawlingInfoService.deleteOldSessions(processHelper.getRunningSessionIdSet());
             saveInfo(messages -> messages.addSuccessCrawlingInfoDeleteAll(GLOBAL));
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResponse().status(Status.OK).result());

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/dataconfig/ApiAdminDataconfigAction.java

@@ -21,6 +21,8 @@ import static org.codelibs.fess.app.web.admin.dataconfig.AdminDataconfigAction.g
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.DataConfigPager;
@@ -45,6 +47,8 @@ import jakarta.annotation.Resource;
  */
 public class ApiAdminDataconfigAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminDataconfigAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -85,6 +89,7 @@ public class ApiAdminDataconfigAction extends FessApiAdminAction {
             try {
                 dataConfigService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -105,6 +110,7 @@ public class ApiAdminDataconfigAction extends FessApiAdminAction {
             try {
                 dataConfigService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -123,6 +129,7 @@ public class ApiAdminDataconfigAction extends FessApiAdminAction {
                 dataConfigService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
         }).orElse(() -> {

+ 5 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/dict/kuromoji/ApiAdminDictKuromojiAction.java

@@ -22,6 +22,8 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.app.pager.KuromojiPager;
 import org.codelibs.fess.app.service.KuromojiService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -38,6 +40,8 @@ import jakarta.annotation.Resource;
 
 public class ApiAdminDictKuromojiAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminDictKuromojiAction.class);
+
     @Resource
     private KuromojiService kuromojiService;
 
@@ -123,6 +127,7 @@ public class ApiAdminDictKuromojiAction extends FessApiAdminAction {
         try (InputStream inputStream = form.kuromojiFile.getInputStream()) {
             file.update(inputStream);
         } catch (final IOException e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsFailedToUploadProtwordsFile(GLOBAL));
         }
         return asJson(new ApiResult.ApiResponse().status(ApiResult.Status.OK).result());

+ 5 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/dict/mapping/ApiAdminDictMappingAction.java

@@ -22,6 +22,8 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.app.pager.CharMappingPager;
 import org.codelibs.fess.app.service.CharMappingService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -38,6 +40,8 @@ import jakarta.annotation.Resource;
 
 public class ApiAdminDictMappingAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminDictMappingAction.class);
+
     @Resource
     private CharMappingService charMappingService;
 
@@ -123,6 +127,7 @@ public class ApiAdminDictMappingAction extends FessApiAdminAction {
         try (InputStream inputStream = form.charMappingFile.getInputStream()) {
             file.update(inputStream);
         } catch (final IOException e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsFailedToUploadProtwordsFile(GLOBAL));
         }
         return asJson(new ApiResult.ApiResponse().status(ApiResult.Status.OK).result());

+ 6 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/dict/protwords/ApiAdminDictProtwordsAction.java

@@ -22,6 +22,8 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.app.pager.ProtwordsPager;
 import org.codelibs.fess.app.service.ProtwordsService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -37,6 +39,9 @@ import org.lastaflute.web.response.StreamResponse;
 import jakarta.annotation.Resource;
 
 public class ApiAdminDictProtwordsAction extends FessApiAdminAction {
+
+    private static final Logger logger = LogManager.getLogger(ApiAdminDictProtwordsAction.class);
+
     @Resource
     private ProtwordsService protwordsService;
 
@@ -122,6 +127,7 @@ public class ApiAdminDictProtwordsAction extends FessApiAdminAction {
         try (InputStream inputStream = form.protwordsFile.getInputStream()) {
             file.update(inputStream);
         } catch (final IOException e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsFailedToUploadProtwordsFile(GLOBAL));
         }
         return asJson(new ApiResult.ApiResponse().status(ApiResult.Status.OK).result());

+ 5 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/dict/stemmeroverride/ApiAdminDictStemmeroverrideAction.java

@@ -22,6 +22,8 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.app.pager.StemmerOverridePager;
 import org.codelibs.fess.app.service.StemmerOverrideService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -38,6 +40,8 @@ import jakarta.annotation.Resource;
 
 public class ApiAdminDictStemmeroverrideAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminDictStemmeroverrideAction.class);
+
     @Resource
     private StemmerOverrideService stemmerOverrideService;
 
@@ -123,6 +127,7 @@ public class ApiAdminDictStemmeroverrideAction extends FessApiAdminAction {
         try (InputStream inputStream = form.stemmerOverrideFile.getInputStream()) {
             file.update(inputStream);
         } catch (final IOException e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsFailedToUploadProtwordsFile(GLOBAL));
         }
         return asJson(new ApiResult.ApiResponse().status(ApiResult.Status.OK).result());

+ 6 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/dict/stopwords/ApiAdminDictStopwordsAction.java

@@ -22,6 +22,8 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.app.pager.StopwordsPager;
 import org.codelibs.fess.app.service.StopwordsService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -37,6 +39,9 @@ import org.lastaflute.web.response.StreamResponse;
 import jakarta.annotation.Resource;
 
 public class ApiAdminDictStopwordsAction extends FessApiAdminAction {
+
+    private static final Logger logger = LogManager.getLogger(ApiAdminDictStopwordsAction.class);
+
     @Resource
     private StopwordsService stopwordsService;
 
@@ -122,6 +127,7 @@ public class ApiAdminDictStopwordsAction extends FessApiAdminAction {
         try (InputStream inputStream = form.stopwordsFile.getInputStream()) {
             file.update(inputStream);
         } catch (final IOException e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsFailedToUploadStopwordsFile(GLOBAL));
         }
         return asJson(new ApiResult.ApiResponse().status(ApiResult.Status.OK).result());

+ 5 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/dict/synonym/ApiAdminDictSynonymAction.java

@@ -22,6 +22,8 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.app.pager.SynonymPager;
 import org.codelibs.fess.app.service.SynonymService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -38,6 +40,8 @@ import jakarta.annotation.Resource;
 
 public class ApiAdminDictSynonymAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminDictSynonymAction.class);
+
     @Resource
     private SynonymService synonymService;
 
@@ -123,6 +127,7 @@ public class ApiAdminDictSynonymAction extends FessApiAdminAction {
         try (InputStream inputStream = form.synonymFile.getInputStream()) {
             file.update(inputStream);
         } catch (final IOException e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsFailedToUploadProtwordsFile(GLOBAL));
         }
         return asJson(new ApiResult.ApiResponse().status(ApiResult.Status.OK).result());

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/duplicatehost/ApiAdminDuplicatehostAction.java

@@ -20,6 +20,8 @@ import static org.codelibs.fess.app.web.admin.duplicatehost.AdminDuplicatehostAc
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.app.pager.DuplicateHostPager;
 import org.codelibs.fess.app.service.DuplicateHostService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -40,6 +42,8 @@ import jakarta.annotation.Resource;
  */
 public class ApiAdminDuplicatehostAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminDuplicatehostAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -80,6 +84,7 @@ public class ApiAdminDuplicatehostAction extends FessApiAdminAction {
             try {
                 duplicateHostService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -100,6 +105,7 @@ public class ApiAdminDuplicatehostAction extends FessApiAdminAction {
             try {
                 duplicateHostService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -118,6 +124,7 @@ public class ApiAdminDuplicatehostAction extends FessApiAdminAction {
                 duplicateHostService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
         }).orElse(() -> {

+ 9 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/elevateword/ApiAdminElevatewordAction.java

@@ -30,6 +30,8 @@ import java.nio.file.Path;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.concurrent.CommonPoolUtil;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
@@ -54,6 +56,8 @@ import jakarta.annotation.Resource;
 
 public class ApiAdminElevatewordAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminElevatewordAction.class);
+
     @Resource
     private ElevateWordService elevateWordService;
 
@@ -104,6 +108,7 @@ public class ApiAdminElevatewordAction extends FessApiAdminAction {
             suggestHelper.addElevateWord(entity.getSuggestWord(), entity.getReading(), entity.getLabelTypeValues(), entity.getPermissions(),
                     entity.getBoost(), false);
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResult.ApiUpdateResponse().id(entity.getId()).created(true).status(ApiResult.Status.OK).result());
@@ -120,6 +125,7 @@ public class ApiAdminElevatewordAction extends FessApiAdminAction {
                 suggestHelper.deleteAllElevateWord(false);
                 suggestHelper.storeAllElevateWords(false);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -141,12 +147,14 @@ public class ApiAdminElevatewordAction extends FessApiAdminAction {
                     suggestHelper.deleteElevateWord(entity.getSuggestWord(), false);
                     saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
                 } catch (final Exception e) {
+                    logger.warn("Failed to process a request.", e);
                     throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
                 }
             }).orElse(() -> {
                 throwValidationErrorApi(messages -> messages.addErrorsCrudCouldNotFindCrudTable(GLOBAL, id));
             });
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResult.ApiUpdateResponse().id(id).created(false).status(ApiResult.Status.OK).result());
@@ -177,6 +185,7 @@ public class ApiAdminElevatewordAction extends FessApiAdminAction {
                 try (Writer writer = new BufferedWriter(new OutputStreamWriter(Files.newOutputStream(tempFile), getCsvEncoding()))) {
                     elevateWordService.exportCsv(writer);
                 } catch (final Exception e) {
+                    logger.warn("Failed to process a request.", e);
                     throwValidationErrorApi(messages -> messages.addErrorsFailedToDownloadElevateFile(GLOBAL));
                 }
                 try (InputStream in = Files.newInputStream(tempFile)) {

+ 6 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/failureurl/ApiAdminFailureurlAction.java

@@ -18,6 +18,8 @@ package org.codelibs.fess.app.web.api.admin.failureurl;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.app.pager.FailureUrlPager;
 import org.codelibs.fess.app.service.FailureUrlService;
 import org.codelibs.fess.app.web.api.ApiResult;
@@ -37,6 +39,8 @@ import jakarta.annotation.Resource;
  */
 public class ApiAdminFailureurlAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminFailureurlAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -79,6 +83,7 @@ public class ApiAdminFailureurlAction extends FessApiAdminAction {
                 failureUrlService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
         }).orElse(() -> {
@@ -95,6 +100,7 @@ public class ApiAdminFailureurlAction extends FessApiAdminAction {
             failureUrlPager.clear();
             saveInfo(messages -> messages.addSuccessFailureUrlDeleteAll(GLOBAL));
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResponse().status(Status.OK).result());

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/fileauth/ApiAdminFileauthAction.java

@@ -20,6 +20,8 @@ import static org.codelibs.fess.app.web.admin.fileauth.AdminFileauthAction.getFi
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.app.pager.FileAuthPager;
 import org.codelibs.fess.app.service.FileAuthenticationService;
 import org.codelibs.fess.app.service.FileConfigService;
@@ -42,6 +44,8 @@ import jakarta.annotation.Resource;
  */
 public class ApiAdminFileauthAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminFileauthAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -88,6 +92,7 @@ public class ApiAdminFileauthAction extends FessApiAdminAction {
             try {
                 fileAuthService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -108,6 +113,7 @@ public class ApiAdminFileauthAction extends FessApiAdminAction {
             try {
                 fileAuthService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -126,6 +132,7 @@ public class ApiAdminFileauthAction extends FessApiAdminAction {
                 fileAuthService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
         }).orElse(() -> {

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/fileconfig/ApiAdminFileconfigAction.java

@@ -21,6 +21,8 @@ import static org.codelibs.fess.app.web.admin.fileconfig.AdminFileconfigAction.g
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.FileConfigPager;
@@ -45,6 +47,8 @@ import jakarta.annotation.Resource;
  */
 public class ApiAdminFileconfigAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminFileconfigAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -85,6 +89,7 @@ public class ApiAdminFileconfigAction extends FessApiAdminAction {
             try {
                 fileConfigService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -105,6 +110,7 @@ public class ApiAdminFileconfigAction extends FessApiAdminAction {
             try {
                 fileConfigService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -123,6 +129,7 @@ public class ApiAdminFileconfigAction extends FessApiAdminAction {
                 fileConfigService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
         }).orElse(() -> {

+ 6 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/group/ApiAdminGroupAction.java

@@ -21,6 +21,8 @@ import static org.codelibs.fess.app.web.admin.group.AdminGroupAction.validateAtt
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.app.pager.GroupPager;
 import org.codelibs.fess.app.service.GroupService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -35,6 +37,8 @@ import jakarta.annotation.Resource;
 
 public class ApiAdminGroupAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminGroupAction.class);
+
     @Resource
     private GroupService groupService;
 
@@ -75,6 +79,7 @@ public class ApiAdminGroupAction extends FessApiAdminAction {
             groupService.store(entity);
             saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResult.ApiUpdateResponse().id(entity.getId()).created(true).status(ApiResult.Status.OK).result());
@@ -116,6 +121,7 @@ public class ApiAdminGroupAction extends FessApiAdminAction {
             groupService.delete(entity);
             saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResult.ApiUpdateResponse().id(id).created(false).status(ApiResult.Status.OK).result());

+ 5 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/joblog/ApiAdminJoblogAction.java

@@ -18,6 +18,8 @@ package org.codelibs.fess.app.web.api.admin.joblog;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.app.pager.JobLogPager;
 import org.codelibs.fess.app.service.JobLogService;
 import org.codelibs.fess.app.web.api.ApiResult;
@@ -36,6 +38,8 @@ import jakarta.annotation.Resource;
  */
 public class ApiAdminJoblogAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminJoblogAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -73,6 +77,7 @@ public class ApiAdminJoblogAction extends FessApiAdminAction {
                 jobLogService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
         }).orElse(() -> {

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/keymatch/ApiAdminKeymatchAction.java

@@ -20,6 +20,8 @@ import static org.codelibs.fess.app.web.admin.keymatch.AdminKeymatchAction.getKe
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.app.pager.KeyMatchPager;
 import org.codelibs.fess.app.service.KeyMatchService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -40,6 +42,8 @@ import jakarta.annotation.Resource;
  */
 public class ApiAdminKeymatchAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminKeymatchAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -80,6 +84,7 @@ public class ApiAdminKeymatchAction extends FessApiAdminAction {
             try {
                 keyMatchService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -100,6 +105,7 @@ public class ApiAdminKeymatchAction extends FessApiAdminAction {
             try {
                 keyMatchService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -118,6 +124,7 @@ public class ApiAdminKeymatchAction extends FessApiAdminAction {
                 keyMatchService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
         }).orElse(() -> {

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/labeltype/ApiAdminLabeltypeAction.java

@@ -21,6 +21,8 @@ import static org.codelibs.fess.app.web.admin.labeltype.AdminLabeltypeAction.get
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.LabelTypePager;
@@ -45,6 +47,8 @@ import jakarta.annotation.Resource;
  */
 public class ApiAdminLabeltypeAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminLabeltypeAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -85,6 +89,7 @@ public class ApiAdminLabeltypeAction extends FessApiAdminAction {
             try {
                 labelTypeService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -105,6 +110,7 @@ public class ApiAdminLabeltypeAction extends FessApiAdminAction {
             try {
                 labelTypeService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -123,6 +129,7 @@ public class ApiAdminLabeltypeAction extends FessApiAdminAction {
                 labelTypeService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
         }).orElse(() -> {

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/pathmap/ApiAdminPathmapAction.java

@@ -20,6 +20,8 @@ import static org.codelibs.fess.app.web.admin.pathmap.AdminPathmapAction.getPath
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.PathMapPager;
 import org.codelibs.fess.app.service.PathMappingService;
@@ -34,6 +36,8 @@ import jakarta.annotation.Resource;
 
 public class ApiAdminPathmapAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminPathmapAction.class);
+
     @Resource
     private PathMappingService pathMappingService;
 
@@ -74,6 +78,7 @@ public class ApiAdminPathmapAction extends FessApiAdminAction {
             pathMappingService.store(entity);
             saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResult.ApiUpdateResponse().id(entity.getId()).created(true).status(ApiResult.Status.OK).result());
@@ -93,6 +98,7 @@ public class ApiAdminPathmapAction extends FessApiAdminAction {
         try {
             pathMappingService.store(entity);
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResult.ApiUpdateResponse().id(entity.getId()).created(false).status(ApiResult.Status.OK).result());
@@ -109,6 +115,7 @@ public class ApiAdminPathmapAction extends FessApiAdminAction {
             pathMappingService.delete(entity);
             saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResult.ApiUpdateResponse().id(id).created(false).status(ApiResult.Status.OK).result());

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/relatedcontent/ApiAdminRelatedcontentAction.java

@@ -20,6 +20,8 @@ import static org.codelibs.fess.app.web.admin.relatedcontent.AdminRelatedcontent
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.app.pager.RelatedContentPager;
 import org.codelibs.fess.app.service.RelatedContentService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -37,6 +39,8 @@ import jakarta.annotation.Resource;
 
 public class ApiAdminRelatedcontentAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminRelatedcontentAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -78,6 +82,7 @@ public class ApiAdminRelatedcontentAction extends FessApiAdminAction {
             try {
                 relatedContentService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -98,6 +103,7 @@ public class ApiAdminRelatedcontentAction extends FessApiAdminAction {
             try {
                 relatedContentService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -116,6 +122,7 @@ public class ApiAdminRelatedcontentAction extends FessApiAdminAction {
                 relatedContentService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
         }).orElse(() -> {

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/relatedquery/ApiAdminRelatedqueryAction.java

@@ -21,6 +21,8 @@ import static org.codelibs.fess.app.web.admin.relatedquery.AdminRelatedqueryActi
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.RelatedQueryPager;
@@ -40,6 +42,8 @@ import jakarta.annotation.Resource;
 
 public class ApiAdminRelatedqueryAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminRelatedqueryAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -80,6 +84,7 @@ public class ApiAdminRelatedqueryAction extends FessApiAdminAction {
             try {
                 relatedQueryService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -100,6 +105,7 @@ public class ApiAdminRelatedqueryAction extends FessApiAdminAction {
             try {
                 relatedQueryService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -118,6 +124,7 @@ public class ApiAdminRelatedqueryAction extends FessApiAdminAction {
                 relatedQueryService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
         }).orElse(() -> {

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/reqheader/ApiAdminReqheaderAction.java

@@ -20,6 +20,8 @@ import static org.codelibs.fess.app.web.admin.reqheader.AdminReqheaderAction.get
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.app.pager.ReqHeaderPager;
 import org.codelibs.fess.app.service.RequestHeaderService;
 import org.codelibs.fess.app.service.WebConfigService;
@@ -42,6 +44,8 @@ import jakarta.annotation.Resource;
  */
 public class ApiAdminReqheaderAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminReqheaderAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -88,6 +92,7 @@ public class ApiAdminReqheaderAction extends FessApiAdminAction {
             try {
                 reqHeaderService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -108,6 +113,7 @@ public class ApiAdminReqheaderAction extends FessApiAdminAction {
             try {
                 reqHeaderService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -126,6 +132,7 @@ public class ApiAdminReqheaderAction extends FessApiAdminAction {
                 reqHeaderService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
         }).orElse(() -> {

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/role/ApiAdminRoleAction.java

@@ -20,6 +20,8 @@ import static org.codelibs.fess.app.web.admin.role.AdminRoleAction.getRole;
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.app.pager.RolePager;
 import org.codelibs.fess.app.service.RoleService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -33,6 +35,8 @@ import jakarta.annotation.Resource;
 
 public class ApiAdminRoleAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminRoleAction.class);
+
     @Resource
     private RoleService roleService;
 
@@ -71,6 +75,7 @@ public class ApiAdminRoleAction extends FessApiAdminAction {
         try {
             roleService.store(entity);
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResult.ApiUpdateResponse().id(entity.getId()).created(true).status(ApiResult.Status.OK).result());
@@ -90,6 +95,7 @@ public class ApiAdminRoleAction extends FessApiAdminAction {
         try {
             roleService.store(entity);
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResult.ApiUpdateResponse().id(entity.getId()).created(false).status(ApiResult.Status.OK).result());
@@ -105,6 +111,7 @@ public class ApiAdminRoleAction extends FessApiAdminAction {
         try {
             roleService.delete(entity);
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResult.ApiUpdateResponse().id(id).created(false).status(ApiResult.Status.OK).result());

+ 8 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/scheduler/ApiAdminSchedulerAction.java

@@ -20,6 +20,8 @@ import static org.codelibs.fess.app.web.admin.scheduler.AdminSchedulerAction.get
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.SchedulerPager;
 import org.codelibs.fess.app.service.ScheduledJobService;
@@ -37,6 +39,8 @@ import jakarta.annotation.Resource;
 
 public class ApiAdminSchedulerAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminSchedulerAction.class);
+
     @Resource
     private ScheduledJobService scheduledJobService;
 
@@ -76,6 +80,7 @@ public class ApiAdminSchedulerAction extends FessApiAdminAction {
             try {
                 entity.stop();
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> {
                     messages.addErrorsFailedToStopJob(GLOBAL, entity.getName());
                 });
@@ -125,6 +130,7 @@ public class ApiAdminSchedulerAction extends FessApiAdminAction {
             scheduledJobService.store(entity);
             saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResult.ApiUpdateResponse().id(entity.getId()).created(true).status(ApiResult.Status.OK).result());
@@ -144,6 +150,7 @@ public class ApiAdminSchedulerAction extends FessApiAdminAction {
         try {
             scheduledJobService.store(entity);
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResult.ApiUpdateResponse().id(entity.getId()).created(false).status(ApiResult.Status.OK).result());
@@ -160,6 +167,7 @@ public class ApiAdminSchedulerAction extends FessApiAdminAction {
             scheduledJobService.delete(entity);
             saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResult.ApiUpdateResponse().id(id).created(false).status(ApiResult.Status.OK).result());

+ 5 - 4
src/main/java/org/codelibs/fess/app/web/api/admin/searchlist/ApiAdminSearchlistAction.java

@@ -87,12 +87,12 @@ public class ApiAdminSearchlistAction extends FessApiAdminAction {
             return asJson(new ApiDocsResponse().renderData(renderData).status(Status.OK).result());
         } catch (final InvalidQueryException e) {
             if (logger.isDebugEnabled()) {
-                logger.debug(e.getMessage(), e);
+                logger.debug("Invalid query: {}", body.q, e);
             }
             throwValidationErrorApi(e.getMessageCode());
         } catch (final ResultOffsetExceededException e) {
             if (logger.isDebugEnabled()) {
-                logger.debug(e.getMessage(), e);
+                logger.debug("Invalid offset: {}", body.offset, e);
             }
             throwValidationErrorApi(messages -> messages.addErrorsResultSizeExceeded(GLOBAL));
         }
@@ -133,7 +133,7 @@ public class ApiAdminSearchlistAction extends FessApiAdminAction {
                 searchEngineClient.store(index, entity);
                 saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
             } catch (final Exception e) {
-                logger.error("Failed to add {}", entity, e);
+                logger.warn("Failed to add {}", entity, e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -174,7 +174,7 @@ public class ApiAdminSearchlistAction extends FessApiAdminAction {
                 searchEngineClient.store(index, entity);
                 saveInfo(messages -> messages.addSuccessCrudUpdateCrudTable(GLOBAL));
             } catch (final Exception e) {
-                logger.error("Failed to update {}", entity, e);
+                logger.warn("Failed to update {}", entity, e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -194,6 +194,7 @@ public class ApiAdminSearchlistAction extends FessApiAdminAction {
             searchEngineClient.deleteByQuery(fessConfig.getIndexDocumentUpdateIndex(), query);
             saveInfo(messages -> messages.addSuccessDeleteDocFromIndex(GLOBAL));
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsFailedToDeleteDocInAdmin(GLOBAL));
         }
         return asJson(new ApiResponse().status(Status.OK).result());

+ 3 - 9
src/main/java/org/codelibs/fess/app/web/api/admin/storage/ApiAdminStorageAction.java

@@ -71,9 +71,7 @@ public class ApiAdminStorageAction extends FessApiAdminAction {
             try {
                 downloadObject(getObjectName(pi.getPath(), pi.getName()), out);
             } catch (final StorageException e) {
-                if (logger.isDebugEnabled()) {
-                    logger.debug("Failed to download {}", id, e);
-                }
+                logger.warn("Failed to download {}", id, e);
                 throwValidationErrorApi(messages -> messages.addErrorsStorageFileDownloadFailure(GLOBAL, pi.getName()));
             }
         });
@@ -92,9 +90,7 @@ public class ApiAdminStorageAction extends FessApiAdminAction {
             saveInfo(messages -> messages.addSuccessDeleteFile(GLOBAL, pi.getName()));
             return asJson(new ApiResult.ApiResponse().status(ApiResult.Status.OK).result());
         } catch (final StorageException e) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("Failed to delete {}", id, e);
-            }
+            logger.warn("Failed to delete {}", id, e);
             throwValidationErrorApi(messages -> messages.addErrorsFailedToDeleteFile(GLOBAL, pi.getName()));
         }
         return null;
@@ -114,9 +110,7 @@ public class ApiAdminStorageAction extends FessApiAdminAction {
             saveInfo(messages -> messages.addSuccessUploadFileToStorage(GLOBAL, fileName));
             return asJson(new ApiResult.ApiResponse().status(ApiResult.Status.OK).result());
         } catch (final StorageException e) {
-            if (logger.isDebugEnabled()) {
-                logger.debug("Failed to upload {}", fileName, e);
-            }
+            logger.warn("Failed to upload {}", fileName, e);
             throwValidationErrorApi(messages -> messages.addErrorsStorageFileUploadFailure(GLOBAL, fileName));
         }
         return null;

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/user/ApiAdminUserAction.java

@@ -21,6 +21,8 @@ import static org.codelibs.fess.app.web.admin.user.AdminUserAction.validateAttri
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.app.pager.UserPager;
 import org.codelibs.fess.app.service.UserService;
 import org.codelibs.fess.app.web.CrudMode;
@@ -34,6 +36,8 @@ import jakarta.annotation.Resource;
 
 public class ApiAdminUserAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminUserAction.class);
+
     @Resource
     private UserService userService;
 
@@ -73,6 +77,7 @@ public class ApiAdminUserAction extends FessApiAdminAction {
             userService.store(entity);
             saveInfo(messages -> messages.addSuccessCrudCreateCrudTable(GLOBAL));
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResult.ApiUpdateResponse().id(entity.getId()).created(true).status(ApiResult.Status.OK).result());
@@ -93,6 +98,7 @@ public class ApiAdminUserAction extends FessApiAdminAction {
         try {
             userService.store(entity);
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResult.ApiUpdateResponse().id(entity.getId()).created(false).status(ApiResult.Status.OK).result());
@@ -114,6 +120,7 @@ public class ApiAdminUserAction extends FessApiAdminAction {
             userService.delete(entity);
             saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
         } catch (final Exception e) {
+            logger.warn("Failed to process a request.", e);
             throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
         }
         return asJson(new ApiResult.ApiUpdateResponse().id(id).created(false).status(ApiResult.Status.OK).result());

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/webauth/ApiAdminWebauthAction.java

@@ -20,6 +20,8 @@ import static org.codelibs.fess.app.web.admin.webauth.AdminWebauthAction.getWebA
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.fess.app.pager.WebAuthPager;
 import org.codelibs.fess.app.service.WebAuthenticationService;
 import org.codelibs.fess.app.service.WebConfigService;
@@ -42,6 +44,8 @@ import jakarta.annotation.Resource;
  */
 public class ApiAdminWebauthAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminWebauthAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -88,6 +92,7 @@ public class ApiAdminWebauthAction extends FessApiAdminAction {
             try {
                 webAuthService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -108,6 +113,7 @@ public class ApiAdminWebauthAction extends FessApiAdminAction {
             try {
                 webAuthService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -126,6 +132,7 @@ public class ApiAdminWebauthAction extends FessApiAdminAction {
                 webAuthService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
         }).orElse(() -> {

+ 7 - 0
src/main/java/org/codelibs/fess/app/web/api/admin/webconfig/ApiAdminWebconfigAction.java

@@ -21,6 +21,8 @@ import static org.codelibs.fess.app.web.admin.webconfig.AdminWebconfigAction.get
 import java.util.List;
 import java.util.stream.Collectors;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.codelibs.core.lang.StringUtil;
 import org.codelibs.fess.Constants;
 import org.codelibs.fess.app.pager.WebConfigPager;
@@ -45,6 +47,8 @@ import jakarta.annotation.Resource;
  */
 public class ApiAdminWebconfigAction extends FessApiAdminAction {
 
+    private static final Logger logger = LogManager.getLogger(ApiAdminWebconfigAction.class);
+
     // ===================================================================================
     //                                                                           Attribute
     //                                                                           =========
@@ -85,6 +89,7 @@ public class ApiAdminWebconfigAction extends FessApiAdminAction {
             try {
                 webConfigService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToCreateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -105,6 +110,7 @@ public class ApiAdminWebconfigAction extends FessApiAdminAction {
             try {
                 webConfigService.store(entity);
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToUpdateCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
             return entity;
@@ -123,6 +129,7 @@ public class ApiAdminWebconfigAction extends FessApiAdminAction {
                 webConfigService.delete(entity);
                 saveInfo(messages -> messages.addSuccessCrudDeleteCrudTable(GLOBAL));
             } catch (final Exception e) {
+                logger.warn("Failed to process a request.", e);
                 throwValidationErrorApi(messages -> messages.addErrorsCrudFailedToDeleteCrudTable(GLOBAL, buildThrowableMessage(e)));
             }
         }).orElse(() -> {

+ 3 - 0
src/main/java/org/codelibs/fess/app/web/login/LoginAction.java

@@ -86,6 +86,9 @@ public class LoginAction extends FessLoginAction {
             getSession().ifPresent(session -> session.setAttribute(INVALID_OLD_PASSWORD, password));
             return asHtml(virtualHost(path_Login_NewpasswordJsp));
         } catch (final LoginFailureException lfe) {
+            if (logger.isDebugEnabled()) {
+                logger.debug("Login is failed.", lfe);
+            }
             activityHelper.loginFailure(OptionalThing.of(new LocalUserCredential(username, password)));
             throwValidationError(messages -> messages.addErrorsLoginError(GLOBAL), () -> asIndexPage(form));
         }

+ 1 - 1
src/main/java/org/codelibs/fess/app/web/profile/ProfileAction.java

@@ -71,7 +71,7 @@ public class ProfileAction extends FessSearchAction {
             userService.changePassword(username, form.newPassword);
             saveInfo(messages -> messages.addSuccessChangedPassword(GLOBAL));
         } catch (final Exception e) {
-            logger.error("Failed to change password for {}", username, e);
+            logger.warn("Failed to change password for {}", username, e);
             throwValidationError(messages -> messages.addErrorsFailedToChangePassword(GLOBAL), toIndexPage);
         }
         return redirect(getClass());