org.test4j.module.tracer.TxtFileTracerLogger Maven / Gradle / Ivy
package org.test4j.module.tracer;
import java.io.IOException;
import java.io.Writer;
import org.test4j.tools.commons.StringHelper;
@SuppressWarnings("rawtypes")
public class TxtFileTracerLogger extends TracerLogger {
private StringBuilder buff = new StringBuilder();
@Override
public void writerMethodInputInfo(Class claz, String method, Object[] values) {
buff.append("#START_INPUT#" + claz.getName() + "#" + method + "#" + values.length);
buff.append("\n");
for (int index = 1; index <= values.length; index++) {
buff.append("#START_PARAMETER#" + index);
buff.append("\n");
buff.append(toJSON(values[index - 1]));
buff.append("\n");
buff.append("#END_PARAMETER");
buff.append("\n");
}
buff.append("#END_INPUT");
buff.append("\n");
}
@Override
public void writerMethodException(Class claz, String method, Throwable exception) {
buff.append("#START_EXCEPTION#" + claz.getName() + "#" + method);
buff.append("\n");
buff.append(exception.getMessage());
buff.append("\n");
buff.append("#END_EXCEPTION");
buff.append("\n");
}
@Override
public void writerMethodReturnValue(Class claz, String method, Object result) {
buff.append("#START_RETURN#" + claz.getName() + "#" + method);
buff.append("\n");
buff.append(toJSON(result));
buff.append("\n");
buff.append("#END_RETURN");
buff.append("\n");
}
@Override
public void writerSqlStatement(String sql, Object result) {
buff.append("#START_SQL");
buff.append("\n");
buff.append(sql);
buff.append("\n");
buff.append("#END_SQL");
buff.append("\n");
}
@Override
public void close() {
String log = buff.toString();
if (StringHelper.isBlankOrNull(log)) {
return;
}
try {
Writer writer = getWriter("txt");
writer.write(log);
writer.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy