@@ -261,7 +261,8 @@ public void close() throws SecurityException {
261261
262262 namedHandlers .putAll (additionalNamedHandlersMap );
263263
264- setUpCategoryLoggers (buildConfig , categoryDefaultMinLevels , categories , logContext , errorManager , namedHandlers );
264+ setUpCategoryLoggers (buildConfig , categoryDefaultMinLevels , categories , logContext , errorManager , namedHandlers ,
265+ true );
265266 }
266267
267268 for (RuntimeValue <Optional <Handler >> additionalHandler : additionalHandlers ) {
@@ -344,7 +345,7 @@ public static void initializeBuildTimeLogging(
344345 emptyList (), emptyList (), emptyList (), emptyList (), errorManager , logCleanupFilter ,
345346 emptyMap (), launchMode , dummy , false );
346347
347- setUpCategoryLoggers (buildConfig , categoryDefaultMinLevels , categories , logContext , errorManager , namedHandlers );
348+ setUpCategoryLoggers (buildConfig , categoryDefaultMinLevels , categories , logContext , errorManager , namedHandlers , false );
348349
349350 addNamedHandlersToRootHandlers (config .handlers (), namedHandlers , handlers , errorManager );
350351 InitialConfigurator .DELAYED_HANDLER .setAutoFlush (false );
@@ -482,7 +483,8 @@ public void run() {
482483 private static void addNamedHandlersToCategory (
483484 CategoryConfig categoryConfig , Map <String , Handler > namedHandlers ,
484485 Logger categoryLogger ,
485- ErrorManager errorManager ) {
486+ ErrorManager errorManager ,
487+ boolean checkHandlerLinks ) {
486488 for (String categoryNamedHandler : categoryConfig .handlers ().get ()) {
487489 Handler handler = namedHandlers .get (categoryNamedHandler );
488490 if (handler != null ) {
@@ -493,7 +495,7 @@ public void run() {
493495 categoryLogger .removeHandler (handler );
494496 }
495497 });
496- } else {
498+ } else if ( checkHandlerLinks ) {
497499 errorManager .error (String .format ("Handler with name '%s' is linked to a category but not configured." ,
498500 categoryNamedHandler ), null , ErrorManager .GENERIC_FAILURE );
499501 }
@@ -506,7 +508,8 @@ private static void setUpCategoryLoggers(
506508 final Map <String , CategoryConfig > categories ,
507509 final LogContext logContext ,
508510 final ErrorManager errorManager ,
509- final Map <String , Handler > namedHandlers ) {
511+ final Map <String , Handler > namedHandlers ,
512+ final boolean checkHandlerLinks ) {
510513
511514 for (Entry <String , CategoryConfig > entry : categories .entrySet ()) {
512515 String categoryName = entry .getKey ();
@@ -532,7 +535,7 @@ private static void setUpCategoryLoggers(
532535 }
533536 categoryLogger .setUseParentHandlers (categoryConfig .useParentHandlers ());
534537 if (categoryConfig .handlers ().isPresent ()) {
535- addNamedHandlersToCategory (categoryConfig , namedHandlers , categoryLogger , errorManager );
538+ addNamedHandlersToCategory (categoryConfig , namedHandlers , categoryLogger , errorManager , checkHandlerLinks );
536539 }
537540 }
538541 }
0 commit comments