The easiest path will be for you to let an IDE (like Eclipse, my favorite) generate a patch for you from the Team->Create Patch... dialog.
Depending on your Eclipse set up you might have to install EGit to get git support in Eclipse. Gary On Tue, Sep 2, 2014 at 10:53 AM, Yogesh Rao <yog...@gmail.com> wrote: > Hi Gary, > > I haven't worked on Git as yet, I think i will provide a diff of the files > (with Git Master branch) and attach it to JIRA . > > Alternatively if there any link for creating and submitting Git patches, > please do let me know I can provide that as well. > > Regards, > -Yogesh > > > On Tue, Sep 2, 2014 at 8:05 PM, Gary Gregory <garydgreg...@gmail.com> > wrote: > > > Yogesh, > > > > Thank you for you message. > > > > We can only take code submissions via unified diff files attached to > JIRA. > > I think we might also be able to (legally) accept Git pull requests but I > > am not 100% sure on that one. > > > > When providing a patch it would be most helpful to do so against the Git > > master branch. > > > > In any case, please create JIRA issue. > > > > Thank you, > > Gary > > > > > > On Tue, Sep 2, 2014 at 10:24 AM, Yogesh Rao <yog...@gmail.com> wrote: > > > > > Hi, > > > > > > There seems to be an issue with SimpleLogger implementation provided by > > > log4j2. The issue seems to be in the new improved API supporting > > > placeholders and var args when called with an Object Array of size 0. > > > > > > for e.g logger.error("Hello World {} in {} " , new Object[0]); > > > > > > A statement above results in an error as shown below > > > > > > ERROR StatusLogger Unable to locate a logging implementation, using > > > SimpleLogger > > > Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1 > > > at > > > > > > > > > org.apache.logging.log4j.simple.SimpleLogger.logMessage(SimpleLogger.java:157) > > > at > > > > > > > > > org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:1347) > > > at > > > > > > > > > org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1312) > > > at > > > > > > org.apache.logging.log4j.spi.AbstractLogger.error(AbstractLogger.java:539) > > > at TestError.main(TestError.java:21) > > > > > > > > > > > > I managed to look at the code as well and it looks like a condition to > > > check of the var arg param array size is missing in SimpleLogger > > > > > > 155 final Object[] params = msg.getParameters(); > > > 156 Throwable t; > > > 157 if (throwable == null && params != null && > > > params[params.length - 1] instanceof Throwable) { > > > 158 t = (Throwable) params[params.length - 1]; > > > 159 } else { > > > 160 t = throwable; > > > 161 } > > > 162 if (t != null) { > > > 163 sb.append(SPACE); > > > 164 final ByteArrayOutputStream baos = new > > > ByteArrayOutputStream(); > > > 165 t.printStackTrace(new PrintStream(baos)); > > > 166 sb.append(baos.toString()); > > > 167 } > > > 168 stream.println(sb.toString()); > > > > > > > > > I can raise a JIRA issue and provide a fix with failing unit testcase. > > Let > > > me know if i can proceed ahead on this. > > > > > > Details of the environment are :- > > > Version used > > > > > > 1. JDK - Oracle JDK version 1.7 > > > 2. Log4j2 API - 2.0.1 > > > > > > > > > To reproduce following java class can be used : > > > > > > TestError.java > > > ------------------------ > > > > > > import org.apache.logging.log4j.LogManager; > > > import org.apache.logging.log4j.Logger; > > > > > > > > > > > > public class TestError { > > > > > > private static final Logger logger = LogManager.getLogger("TestError"); > > > /** > > > * @param args > > > */ > > > public static void main(String[] args) { > > > Object[] arr = null; > > > logger.error("Hello World {} in {} " , new Object[0]); > > > > > > } > > > > > > } > > > > > > Jars in Classpath > > > -------------------------- > > > Log4j2 API - 2.0.1 > > > > > > > > > Regards, > > > -Yogesh > > > > > > > > > > > -- > > 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 > > > -- 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