I can't figure out how to create a Jira ticket in PAXLOGGING. I made an 
account on Atlassian, but it says I don't have access to Jira on 
ops4j1.jira.com.

So, with Pax Logging *1.10.2* (using pax-logging-api and 
pax-logging-log4j2), I *can* print a stack trace with:

org.apache.logging.log4j.Logger logger = org.apache.logging.log4j.LogManager
.getLogger();

try
{
   // Some code that throws exception.
}
catch (Exception ex)
{
    logger.error("Some message", ex); // prints stack trace correctly.
}

With Pax Logging *1.10.4* (also using pax-logging-api and 
pax-logging-log4j2), I *cannot* print a stack trace. When my code tries to 
print stack traces, I get this:
java.lang.NoSuchMethodError: org.apache.logging.log4j.core.impl.
ThrowableProxy.formatExtendedStackTraceTo(Ljava/lang/StringBuilder;Ljava/
util/List;Lorg/apache/logging/log4j/core/pattern/TextRenderer;Ljava/lang/
String;Ljava/lang/String;)V
        at org.apache.logging.log4j.core.pattern.
ExtendedThrowablePatternConverter.format(ExtendedThrowablePatternConverter.
java:74)
        at org.apache.logging.log4j.core.pattern.PatternFormatter.format(
PatternFormatter.java:38)
        at org.apache.logging.log4j.core.layout.
PatternLayout$PatternSerializer.toSerializable(PatternLayout.java:341)
        at org.apache.logging.log4j.core.layout.PatternLayout.toText(
PatternLayout.java:240)
        at org.apache.logging.log4j.core.layout.PatternLayout.encode(
PatternLayout.java:225)
        at org.apache.logging.log4j.core.layout.PatternLayout.encode(
PatternLayout.java:59)
        at org.apache.logging.log4j.core.appender.
AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.
java:197)
        at org.apache.logging.log4j.core.appender.
AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:190
)
        at org.apache.logging.log4j.core.appender.
AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:181)
        at org.apache.logging.log4j.core.appender.RollingFileAppender.append
(RollingFileAppender.java:312)
        at org.apache.logging.log4j.core.config.AppenderControl.
tryCallAppender(AppenderControl.java:156)
        at org.apache.logging.log4j.core.config.AppenderControl.
callAppender0(AppenderControl.java:129)
        at org.apache.logging.log4j.core.config.AppenderControl.
callAppenderPreventRecursion(AppenderControl.java:120)
        at org.apache.logging.log4j.core.config.AppenderControl.callAppender
(AppenderControl.java:84)
        at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(
LoggerConfig.java:543)
        at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent
(LoggerConfig.java:502)
        at org.apache.logging.log4j.core.config.LoggerConfig.log(
LoggerConfig.java:485)
        at org.apache.logging.log4j.core.config.LoggerConfig.log(
LoggerConfig.java:412)
        at org.apache.logging.log4j.core.config.
AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.
java:63)
        at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:154)
        at org.ops4j.pax.logging.log4j2.internal.PaxLoggerImpl.doLog0(
PaxLoggerImpl.java:151)
        at org.ops4j.pax.logging.log4j2.internal.PaxLoggerImpl.doLog(
PaxLoggerImpl.java:144)
        at org.ops4j.pax.logging.log4j2.internal.PaxLoggerImpl.error(
PaxLoggerImpl.java:240)
        at org.ops4j.pax.logging.internal.TrackingLogger.error(
TrackingLogger.java:126)
        at org.ops4j.pax.logging.log4jv2.Log4jv2Logger.logMessage(
Log4jv2Logger.java:147)
        at org.apache.logging.log4j.spi.AbstractLogger.log(AbstractLogger.
java:2102)
        at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(
AbstractLogger.java:2190)
        at org.apache.logging.log4j.spi.AbstractLogger.
logMessageTrackRecursion(AbstractLogger.java:2144)
        at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(
AbstractLogger.java:2127)
        at org.apache.logging.log4j.spi.AbstractLogger.logMessage(
AbstractLogger.java:2003)
        at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(
AbstractLogger.java:1975)
        at org.apache.logging.log4j.spi.AbstractLogger.error(AbstractLogger.
java:742)
        at my.code.that.calls.logger.error(MyCode.java:71)


Where the last line is the line in my code that calls (I hid the real 
package and class name in the stack trace above):
    logger.error("Some message", ex);

>From what I can see in the 1.10.4 source code, the stated method "org.apache
.logging.log4j.core.impl.ThrowableProxy.formatExtendedStackTraceTo" indeed 
does *not* exist in Pax Logging Log4J2's version of ThrowableProxy. If I 
understand Github correctly, the link to the 1.10.4 code is:
https://github.com/ops4j/org.ops4j.pax.logging/tree/f40fafcff4e7aaffc13025f273fbb9c93fff3590

Can someone check this out? I am okay with using 1.10.2, though if you do 
fix the problem with losing track of loggers that I reported in my other 
post, I'm guessing you would do it based off 1.10.4, not off 1.10.2. Fixing 
the "losing track of loggers" problem without being able to print stack 
traces doesn't help me much.

Thanks again,
Monica

-- 
-- 
------------------
OPS4J - http://www.ops4j.org - [email protected]

--- 
You received this message because you are subscribed to the Google Groups 
"OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ops4j/2003775d-ae3c-43ec-a20a-e258f5232c01%40googlegroups.com.

Reply via email to