All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.test4j.module.tracer.annotations.Tracer Maven / Gradle / Ivy

package org.test4j.module.tracer.annotations;

import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import org.test4j.tools.commons.JSONHelper;
import org.test4j.tools.commons.StringHelper;

@Deprecated
@Retention(RUNTIME)
@Target( { METHOD, TYPE, CONSTRUCTOR })
public @interface Tracer {
	/**
	 * 跟踪spring调用信息
	 * 
	 * @return
	 */
	boolean spring() default true;

	/**
	 * 跟踪jdbc的sql信息
	 * 
	 * @return
	 */
	boolean jdbc() default true;

	/**
	 * 默认是把参数和返回值信息转换为json字符串形式
* 当个别参数内容特别多或转换json出错时,建议改为toString()形式 * * @return */ Info info() default Info.TOJSON; public static enum Info { TOSTRING { @Override public String toInfoString(Object o) { return o == null ? "" : o.toString(); } }, TOJSON { @Override public String toInfoString(Object o) { if (o == null) { return ""; } try { return JSONHelper.toJSON(o); } catch (Throwable e) { return "to json error:" + StringHelper.exceptionTrace(e); } } }; public abstract String toInfoString(Object o); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy