Hi all Already there is one blank line between any two <Event> blocks within the XML file; but that is because of the way the existing PrettyPrinter class behaves. However I too feel it is not good to have multiple blank lines between <Event> blocks.
I did a slight change to the way the PrettyPrinter works; and got the XML printed as follows (only with one blank line between any two <Event> blocks - most similar to current output). *Current 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="1460974404123" 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="1460974404133" 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"?>^M <Events xmlns="http://logging.apache.org/log4j/2.0/events"> <Event xmlns="http://logging.apache.org/log4j/2.0/events" timeMillis="1460973958301" 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="1460973958323" 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> Please have a look at that and let me know whether this seems OK. If that seems correct, I can update the test cases as well and share a patch. As I am new here, please let me know whether I should create a Jira ticket <https://issues.apache.org/jira/browse/log4j2/> and attach the patch or attach it into an email? Thanks ------------------ www.digizol.com On Mon, Apr 18, 2016 at 3:36 AM Ralph Goers <ralph.go...@dslextreme.com> wrote: > I certainly wouldn’t expect to see any blank lines. > > Ralph > > > On Apr 17, 2016, at 2:42 PM, Gary Gregory <garydgreg...@gmail.com> > wrote: > > > > IMO there should not be any blank lines, even in non-compact mode. > > > > Thoughts from others? > > Gary > > On Apr 17, 2016 1:34 PM, "Kamal Mettananda" <lka...@gmail.com> wrote: > > > >> 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 > >>> > >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org > For additional commands, e-mail: log4j-user-h...@logging.apache.org > >