Skip to content

Commit

Permalink
Showing 3 changed files with 41 additions and 13 deletions.
4 changes: 2 additions & 2 deletions core/src/main/java/org/jruby/exceptions/RaiseException.java
Original file line number Diff line number Diff line change
@@ -203,7 +203,7 @@ private void preRaise(ThreadContext context, StackTraceElement[] javaTrace) {

exception.prepareIntegratedBacktrace(context, javaTrace);

if (RubyInstanceConfig.LOG_EXCEPTIONS) TraceType.dumpException(exception);
if (RubyInstanceConfig.LOG_EXCEPTIONS) TraceType.logException(exception);
}

private void preRaise(ThreadContext context, IRubyObject backtrace) {
@@ -227,7 +227,7 @@ private void preRaise(ThreadContext context, IRubyObject backtrace) {
setStackTrace(RaiseException.javaTraceFromRubyTrace(exception.getBacktraceElements()));
}

if (RubyInstanceConfig.LOG_EXCEPTIONS) TraceType.dumpException(exception);
if (RubyInstanceConfig.LOG_EXCEPTIONS) TraceType.logException(exception);
}

private static void doCallEventHook(final ThreadContext context) {
14 changes: 7 additions & 7 deletions core/src/main/java/org/jruby/runtime/ThreadContext.java
Original file line number Diff line number Diff line change
@@ -807,9 +807,9 @@ public IRubyObject createCallerBacktrace(int level, Integer length, StackTraceEl
RubyString str = RubyString.newString(runtime, trace[i - level].mriStyleString());
newTrace.append(str);
}
if (RubyInstanceConfig.LOG_CALLERS) TraceType.dumpCaller(newTrace);

if (RubyInstanceConfig.LOG_CALLERS) TraceType.logCaller(newTrace);

return newTrace;
}

@@ -842,9 +842,9 @@ private RubyStackTraceElement[] getTraceSubset(int level, Integer length, StackT
if (traceLength < 0) return null;

trace = Arrays.copyOfRange(trace, level, level + traceLength);
if (RubyInstanceConfig.LOG_CALLERS) TraceType.dumpCaller(trace);

if (RubyInstanceConfig.LOG_CALLERS) TraceType.logCaller(trace);

return trace;
}

@@ -863,7 +863,7 @@ public RubyStackTraceElement[] createWarningBacktrace(Ruby runtime) {

RubyStackTraceElement[] trace = gatherCallerBacktrace();

if (RubyInstanceConfig.LOG_WARNINGS) TraceType.dumpWarning(trace);
if (RubyInstanceConfig.LOG_WARNINGS) TraceType.logWarning(trace);

return trace;
}
36 changes: 32 additions & 4 deletions core/src/main/java/org/jruby/runtime/backtrace/TraceType.java
Original file line number Diff line number Diff line change
@@ -73,25 +73,53 @@ public static void logBacktrace(RubyStackTraceElement[] trace) {
LOG.info("Backtrace generated:\n{}", buffer);
}

public static void dumpException(RubyException exception) {
public static void logException(RubyException exception) {
LOG.info("Exception raised: {} : {}", exception.getMetaClass(), exception);
}

/**
* @deprecated use {@link #logException(org.jruby.RubyException)}
*/
public static void dumpException(RubyException exception) {
logException(exception);
}

public static void dumpBacktrace(RubyException exception) {
Ruby runtime = exception.getRuntime();
System.err.println("Backtrace generated:\n" + printBacktraceJRuby(exception, runtime.getPosix().isatty(FileDescriptor.err)));
}

public static void logCaller(RubyArray trace) {
LOG.info("Caller backtrace generated:\n{}", trace);
}

/**
* @deprecated use {@link #logCaller(org.jruby.RubyArray)}
*/
public static void dumpCaller(RubyArray trace) {
LOG.info("Caller backtrace generated:\n" + trace);
logCaller(trace);
}

public static void logCaller(RubyStackTraceElement[] trace) {
LOG.info("Caller backtrace generated:\n{}", Arrays.toString(trace));
}

/**
* @deprecated use {@link #logCaller(org.jruby.runtime.backtrace.RubyStackTraceElement[]) }
*/
public static void dumpCaller(RubyStackTraceElement[] trace) {
LOG.info("Caller backtrace generated:\n" + Arrays.toString(trace));
logCaller(trace);
}

public static void logWarning(RubyStackTraceElement[] trace) {
LOG.info("Warning backtrace generated:\n{}", Arrays.toString(trace));
}

/**
* @deprecated use {@link #logWarning(org.jruby.runtime.backtrace.RubyStackTraceElement[])
*/
public static void dumpWarning(RubyStackTraceElement[] trace) {
LOG.info("Warning backtrace generated:\n" + Arrays.toString(trace));
logWarning(trace);
}

public static TraceType traceTypeFor(String style) {

0 comments on commit 19cb58e

Please sign in to comment.