Buggy code:
static class HandlerAddOperationStepHandler extends LoggingOperations . LoggingAddOperationStepHandler { private final String [ ] constructionProperties ; private final AttributeDefinition [ ] attributes ; private final Class < ? extends Handler > type ; private final PropertySorter propertySorter ; protected HandlerAddOperationStepHandler ( final Class < ? extends Handler > type , final AttributeDefinition [ ] attributes ) { } protected HandlerAddOperationStepHandler ( final PropertySorter propertySorter , final Class < ? extends Handler > type , final AttributeDefinition [ ] attributes , final ConfigurationProperty < ? > ... constructionProperties ) { } @ Override public void updateModel ( final ModelNode operation , final ModelNode model ) throws OperationFailedException { } @ Override public void performRuntime ( final OperationContext context , final ModelNode operation , final LogContextConfiguration logContextConfiguration , final String name , final ModelNode model ) throws OperationFailedException { } protected HandlerConfiguration createHandlerConfiguration ( final String className , final String moduleName , final String name , final LogContextConfiguration logContextConfiguration ) throws OperationFailedException { } } static class LogHandlerWriteAttributeHandler extends LoggingOperations . LoggingWriteAttributeHandler { private final PropertySorter propertySorter ; protected LogHandlerWriteAttributeHandler ( final AttributeDefinition ... attributes ) { } protected LogHandlerWriteAttributeHandler ( final PropertySorter propertySorter , final AttributeDefinition ... attributes ) { } @ Override protected boolean applyUpdate ( final OperationContext context , final String attributeName , final String addressName , final ModelNode value , final LogContextConfiguration logContextConfiguration ) throws OperationFailedException { boolean restartRequired = false ; if ( logContextConfiguration . getHandlerNames ( ) . contains ( addressName ) ) { final HandlerConfiguration configuration = logContextConfiguration . getHandlerConfiguration ( addressName ) ; if ( CommonAttributes . LEVEL . getName ( ) . equals ( attributeName ) ) { HandlerOperations . handleProperty ( CommonAttributes . LEVEL , context , value , logContextConfiguration , configuration , false ) ; HandlerOperations . handleProperty ( CommonAttributes . LEVEL , context , value , logContextConfiguration , configuration , false ) ; } else if ( CommonAttributes . FILTER . getName ( ) . equals ( attributeName ) ) { HandlerOperations . handleProperty ( CommonAttributes . FILTER_SPEC , context , value , logContextConfiguration , configuration , false ) ; } else if ( CommonAttributes . FILTER_SPEC . getName ( ) . equals ( attributeName ) ) { HandlerOperations . handleProperty ( CommonAttributes . FILTER_SPEC , context , value , logContextConfiguration , configuration , false ) ; } else if ( AbstractHandlerDefinition . FORMATTER . getName ( ) . equals ( attributeName ) ) { HandlerOperations . handleProperty ( AbstractHandlerDefinition . FORMATTER , context , value , logContextConfiguration , configuration , false ) ; } else if ( CommonAttributes . ENCODING . getName ( ) . equals ( attributeName ) ) { HandlerOperations . handleProperty ( CommonAttributes . ENCODING , context , value , logContextConfiguration , configuration , false ) ; } else if ( AsyncHandlerResourceDefinition . SUBHANDLERS . getName ( ) . equals ( attributeName ) ) { HandlerOperations . handleProperty ( AsyncHandlerResourceDefinition . SUBHANDLERS , context , value , logContextConfiguration , configuration , false ) ; } else if ( CommonAttributes . PROPERTIES . getName ( ) . equals ( attributeName ) ) { final PropertyConfigurable propertyConfigurable ; final PojoConfiguration pojoConfiguration = logContextConfiguration . getPojoConfiguration ( configuration . getName ( ) ) ; if ( pojoConfiguration == null ) { propertyConfigurable = configuration ; } else { propertyConfigurable = pojoConfiguration ; } if ( value . isDefined ( ) ) { for ( Property property : value . asPropertyList ( ) ) { propertyConfigurable . setPropertyValueString ( property . getName ( ) , property . getValue ( ) . asString ( ) ) ; } } else { final List < String > propertyNames = propertyConfigurable . getPropertyNames ( ) ; for ( String propertyName : propertyNames ) { if ( propertyName . equals ( "enabled" ) ) continue ; propertyConfigurable . removeProperty ( propertyName ) ; restartRequired = true ; } } } else if ( AsyncHandlerResourceDefinition . QUEUE_LENGTH . getName ( ) . equals ( attributeName ) ) { restartRequired = true ; } else { for ( AttributeDefinition attribute : getAttributes ( ) ) { if ( attribute . getName ( ) . equals ( attributeName ) ) { HandlerOperations . handleProperty ( attribute , context , value , logContextConfiguration , configuration , false ) ; <START_BUG> restartRequired = Logging . requiresRestart ( attribute . getFlags ( ) ) ; <END_BUG> break ; } } } HandlerOperations . addOrderPropertiesStep ( context , propertySorter , configuration ) ; } return restartRequired ; } @ Override protected void finishModelStage ( final OperationContext context , final ModelNode operation , final String attributeName , final ModelNode newValue , final ModelNode oldValue , final Resource model ) throws OperationFailedException { } } static final OperationStepHandler CHANGE_LEVEL = new HandlerOperations . HandlerUpdateOperationStepHandler ( PropertySorter . NO_OP , CommonAttributes . LEVEL ) ; static final OperationStepHandler REMOVE_HANDLER = new LoggingOperations . LoggingRemoveOperationStepHandler ( ) { @ Override public void performRemove ( final OperationContext context , final ModelNode operation , final LogContextConfiguration logContextConfiguration , final String name , final ModelNode model ) throws OperationFailedException { } @ Override public void performRuntime ( final OperationContext context , final ModelNode operation , final LogContextConfiguration logContextConfiguration , final String name , final ModelNode model ) throws OperationFailedException { } } ; static final OperationStepHandler ADD_SUBHANDLER = new HandlerOperations . HandlerUpdateOperationStepHandler ( ) { @ Override public void updateModel ( final ModelNode operation , final ModelNode model ) throws OperationFailedException { } @ Override public void performRuntime ( final OperationContext context , final HandlerConfiguration configuration , final String name , final ModelNode model ) throws OperationFailedException { } } ; static final OperationStepHandler REMOVE_SUBHANDLER = new HandlerOperations . HandlerUpdateOperationStepHandler ( ) { @ Override public void updateModel ( final ModelNode operation , final ModelNode model ) throws OperationFailedException { } @ Override public void performRuntime ( final OperationContext context , final HandlerConfiguration configuration , final String name , final ModelNode model ) throws OperationFailedException { } } ;

Fix:
restartRequired = Logging . requiresReload ( attribute . getFlags ( ) ) ;