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

com.taobao.api.internal.util.TaobaoLogger Maven / Gradle / Ivy

There is a newer version: 1.8.10
Show newest version
package com.taobao.api.internal.util;

import java.io.IOException;
import java.util.Date;
import java.util.Map;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * 客户端日志记录
 */
public class TaobaoLogger {

	private static final Log log = LogFactory.getLog("topsdk");
	private static final String LOG_SPLIT = "^_^";

	private static String osName = System.getProperties().getProperty("os.name");
	private static boolean needEnableLogger = true;

	public static void setNeedEnableLogger(boolean needEnableLogger) {
		TaobaoLogger.needEnableLogger = needEnableLogger;
	}

	public static void logApiError(String appKey, String apiName, String url, Map params, long latency, String errorMessage) {
		if (!needEnableLogger) {
			return;
		}
		StringBuilder sb = new StringBuilder();
		sb.append(formatDateTime(new Date()));// 时间
		sb.append(LOG_SPLIT);
		sb.append(appKey);// APP
		sb.append(LOG_SPLIT);
		sb.append(apiName);// API
		sb.append(LOG_SPLIT);
		sb.append(TaobaoUtils.getIntranetIp());// IP地址
		sb.append(LOG_SPLIT);
		sb.append(osName);// 操作系统
		sb.append(LOG_SPLIT);
		sb.append(latency);// 延迟时间
		sb.append(LOG_SPLIT);
		sb.append(url);// 请求URL
		try {
			sb.append(LOG_SPLIT);
			sb.append(WebUtils.buildQuery(params, "utf-8"));// 请求参数
		} catch (IOException e) {
		}
		sb.append(LOG_SPLIT);
		sb.append(errorMessage);// 错误信息
		log.error(sb.toString());
	}

	private static String formatDateTime(Date date) {
		return StringUtils.formatDateTime(date, "yyyy-MM-dd HH:mm:ss.SSS");
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy