Hi Gary & all I looked at the code and did some modifications around the jackson-dataformat-xml based formatting area. As per current implementation, there is one additional line between each ending </Event> tag and next new <Event> tag; but with this fix, there will be another additional new line between those as shown below.
I am not sure whether that is OK, so please let me know your thoughts on this result. *Current XML file* <?xml version="1.0" encoding="UTF-8"?>^M <Events xmlns="http://logging.apache.org/log4j/2.0/events"> <Event xmlns="http://logging.apache.org/log4j/2.0/events" timeMillis="1460924567162" thread="main" level="INFO" loggerName="com.foo.Bar" endOfBatch="true" loggerFqcn="org.apache.logging.log4j.spi.AbstractLogger" threadId="11" threadPriority="5"> <Message>Message flushed with immediate flush=false</Message> </Event> <Event xmlns="http://logging.apache.org/log4j/2.0/events" timeMillis="1460924567162" thread="main" level="INFO" loggerName="com.foo.Bar" endOfBatch="true" loggerFqcn="org.apache.logging.log4j.spi.AbstractLogger" threadId="11" threadPriority="5"> <Message>Message flushed with immediate flush=false</Message> </Event> </Events> *New XML file* <?xml version="1.0" encoding="UTF-8"?> <Events xmlns="http://logging.apache.org/log4j/2.0/events"> <Event xmlns="http://logging.apache.org/log4j/2.0/events" timeMillis="1460924457009" thread="main" level="INFO" loggerName="com.foo.Bar" endOfBatch="false" loggerFqcn="org.apache.logging.log4j.spi.AbstractLogger" threadId="11" threadPriority="5"> <Message>Message flushed with immediate flush=false</Message> </Event> <Event xmlns="http://logging.apache.org/log4j/2.0/events" timeMillis="1460924457010" thread="main" level="INFO" loggerName="com.foo.Bar" endOfBatch="true" loggerFqcn="org.apache.logging.log4j.spi.AbstractLogger" threadId="11" threadPriority="5"> <Message>Message flushed with immediate flush=false</Message> </Event> </Events> I can share the code as a patch in case this approach is OK. Thanks --------------------------- www.digizol.com On Mon, Apr 11, 2016 at 11:19 PM Gary Gregory <garydgreg...@gmail.com> wrote: > Feel free to submit a unit test and patch. > > Gary > > On Mon, Mar 28, 2016 at 12:00 PM, Kamal Mettananda <lka...@gmail.com> > wrote: > > > Hi all > > > > I am using log4j 2.5 to print the logs via XMLLayout. I have set > > compact="true", hence the new line and indents of sub tags work > correctly. > > However I have noticed that the first child tag is not indented > corrected. > > Following is such a sample where <Events> and <Event> are at the same > > indent level (0 indent). I do think this is a formatting issue in the > code > > rather than expected behavior; but I might be wrong? > > > > <?xml version="1.0" encoding="UTF-8"?> > > <Events xmlns="http://logging.apache.org/log4j/2.0/events"> > > <Event xmlns="http://logging.apache.org/log4j/2.0/events" > > timeMillis="1459191034362" thread="main" level="INFO" > > loggerName="org.logging.learn.log4j.Main" endOfBatch="false" > > loggerFqcn="org.apache.logging.log4j.spi.AbstractLogger"> > > <Message>6 + 4 = 10</Message> > > </Event> > > > > <Event xmlns="http://logging.apache.org/log4j/2.0/events" > > timeMillis="1459191034457" thread="main" level="INFO" > > loggerName="org.logging.learn.log4j.Main" endOfBatch="false" > > loggerFqcn="org.apache.logging.log4j.spi.AbstractLogger"> > > <Message>6 - 4 = 2</Message> > > </Event> > > > > </Events> > > > > Thanks > > > > > > -- > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org > Java Persistence with Hibernate, Second Edition > <http://www.manning.com/bauer3/> > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> > Spring Batch in Action <http://www.manning.com/templier/> > Blog: http://garygregory.wordpress.com > Home: http://garygregory.com/ > Tweet! http://twitter.com/GaryGregory >