logback-android/src/main/java/ch/qos/logback/core/joran/action/DefinePropertyAction.java
public void end(InterpretationContext ec, String name) {
    if (inError) {
      return;
    }

    Object o = ec.peekObject();

    if (o != definer) {
      addWarn("The object at the of the stack is not the property definer for property named ["
          + propertyName + "] pushed earlier.");
    } else {
      addInfo("Popping property definer for property named [" + propertyName
          + "] from the object stack");
      ec.popObject();
      // let's put defined property and value to context but only if it is
      // not null
      String propertyValue = definer.getPropertyValue();
      if(propertyValue != null) {
        ActionUtil.setProperty(ec, propertyName, propertyValue, scope);
      }
    }
  }
public void end(InterpretationContext ec, String name) {
    if (inError) {
      return;
    }

    Object o = ec.peekObject();

    if (o != definer) {
      addWarn("The object at the of the stack is not the property definer for property named ["
          + propertyName + "] pushed earlier.");
    } else {
      addInfo("Popping property definer for property named [" + propertyName
          + "] from the object stack");
      ec.popObject();
      // let's put defined property and value to context but only if it is
      // not null
      String propertyValue = definer.getPropertyValue();
      if(propertyValue != null) {
        ActionUtil.setProperty(ec, propertyName, propertyValue, scope);
      }
    }
  }
public void end ( InterpretationContext ec , String name ) { if ( inError ) { return ; } Object o = ec . peekObject ( ) ; if ( o != definer ) { addWarn ( "The object at the of the stack is not the property definer for property named [" + propertyName + "] pushed earlier." ) ; } else { addInfo ( "Popping property definer for property named [" + propertyName + "] from the object stack" ) ; ec . popObject ( ) ; // let's put defined property and value to context but only if it is // not null String propertyValue = definer . getPropertyValue ( ) ; if ( propertyValue != null ) { ActionUtil . setProperty ( ec , propertyName , propertyValue , scope ) ; } } }
Now property definer is initialized by all properties and we can put
property value to context
Now property definer is initialized by all properties and we can put property value to context