mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2024-11-22 06:12:05 +01:00
Add ExceptionUtil
This commit is contained in:
parent
3075430713
commit
1122bf394c
2 changed files with 41 additions and 8 deletions
|
@ -16,12 +16,11 @@
|
||||||
*/
|
*/
|
||||||
package org.jivesoftware.smack.debugger;
|
package org.jivesoftware.smack.debugger;
|
||||||
|
|
||||||
import java.io.PrintWriter;
|
|
||||||
import java.io.StringWriter;
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import org.jivesoftware.smack.XMPPConnection;
|
import org.jivesoftware.smack.XMPPConnection;
|
||||||
|
import org.jivesoftware.smack.util.ExceptionUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Very simple debugger that prints to the console (stdout) the sent and received stanzas. Use
|
* Very simple debugger that prints to the console (stdout) the sent and received stanzas. Use
|
||||||
|
@ -55,12 +54,8 @@ public class ConsoleDebugger extends AbstractDebugger {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void log(String logMessage, Throwable throwable) {
|
protected void log(String logMessage, Throwable throwable) {
|
||||||
StringWriter sw = new StringWriter();
|
String stacktrace = ExceptionUtil.getStackTrace(throwable);
|
||||||
PrintWriter pw = new PrintWriter(sw);
|
log(logMessage + '\n' + stacktrace);
|
||||||
// CHECKSTYLE:OFF
|
|
||||||
throwable.printStackTrace(pw);
|
|
||||||
// CHECKSTYLE:ON
|
|
||||||
log(logMessage + sw);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final class Factory implements SmackDebuggerFactory {
|
public static final class Factory implements SmackDebuggerFactory {
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Copyright 2019 Florian Schmaus.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.jivesoftware.smack.util;
|
||||||
|
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
import java.io.StringWriter;
|
||||||
|
|
||||||
|
public class ExceptionUtil {
|
||||||
|
|
||||||
|
public static String getStackTrace(Throwable throwable) {
|
||||||
|
StringWriter stringWriter = new StringWriter();
|
||||||
|
PrintWriter printWriter = new PrintWriter(stringWriter);
|
||||||
|
|
||||||
|
// CHECKSTYLE:OFF
|
||||||
|
throwable.printStackTrace(printWriter);
|
||||||
|
// CHECKSTYLE:ON
|
||||||
|
|
||||||
|
printWriter.flush();
|
||||||
|
|
||||||
|
StringBuffer stringBuffer = stringWriter.getBuffer();
|
||||||
|
return stringBuffer.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in a new issue