ppkarwasz commented on issue #1479:
URL: 
https://github.com/apache/logging-log4j2/issues/1479#issuecomment-1550125323

   Complex properties such a `layout` are bound **by type**: if the value of 
`<something>.type` is a plugin name extending 
[`Layout`](https://logging.apache.org/log4j/2.x/log4j-core/apidocs/org/apache/logging/log4j/core/Layout.html)
 it will be injected into the `layout` property.
   
   This rule is necessary, since the reference configuration format (XML) does 
not give a name to its subcomponents:
   
   ```xml
   <Console name="STDOUT" target="SYSTEM_OUT">
         <PatternLayout pattern="%m%n"/>
   </Console>
   ```
   
   We are working on an update to our website to document these rules. In the 
meantime I would keep examples such as the one you cite to show that 
identifiers are not set in stone.
   
   The properties configuration format is full of randomly chosen identifiers, 
while the other formats are **much more concise**. You might look at those 
identifiers as splinters that appear when we squeeze a square peg (hierarchical 
configuration) into a round hole (flat properties format).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to