[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/Tencent/APIJSON/master/APIJSONORM/src/main/java/apijson/Log.java [Back]  [Original]

/*Copyright (C) 2020 Tencent.  All rights reserved.

This source code is licensed under the Apache License Version 2.0.*/


package apijson;

import java.text.SimpleDateFormat;

/**
 * @modifier Lemon
 */
public class Log {
	public static boolean DEBUG = false;
	public static final String VERSION = "8.3.0";

	public static final String LEVEL_VERBOSE = "VERBOSE";
	public static final String LEVEL_INFO = "INFO";
	public static final String LEVEL_DEBUG = "DEBUG";
	public static final String LEVEL_WARN = "WARN";
	public static final String LEVEL_ERROR = "ERROR";

	public static String LEVEL = LEVEL_WARN;

	public static final String KEY_SYSTEM_INFO_DIVIDER = "\n---|-----APIJSON SYSTEM INFO-----|---\n";

	public static final String OS_NAME;
	public static final String OS_VERSION;
	public static final String OS_ARCH;
	public static final String JAVA_VERSION;
	static {
		OS_NAME = System.getProperty("os.name");
		OS_VERSION = System.getProperty("os.version");
		OS_ARCH = System.getProperty("os.arch");
		JAVA_VERSION = System.getProperty("java.version");
	}


	//
	public static SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");

	/**
	 * modify date format
	 * @param dateFormatString
	 */
	public static void setDateFormat(String dateFormatString) {
		DATE_FORMAT = new SimpleDateFormat(dateFormatString);
	}

	/**
	 * log info by level tag and msg
	 * @param TAG
	 * @param msg
	 * @param level
	 */
	public static void logInfo(String TAG, String msg, String level) {
		if (level == null || level.isEmpty()) {
			level = LEVEL;
		}

		if (level.equals(LEVEL_VERBOSE) || level.equals(LEVEL_INFO)) {
			System.out.println(DATE_FORMAT.format(System.currentTimeMillis()) + ": " + TAG + "." + level + ": " + msg);
		}
		else if (level.equals(LEVEL_DEBUG) || level.equals(LEVEL_ERROR) || level.equals(LEVEL_WARN)) {
			System.err.println(DATE_FORMAT.format(System.currentTimeMillis()) + ": " + TAG + "." + level + ": " + msg);
		}
	}

	/**
	 * @param TAG
	 * @param msg
	 */
	public static void d(String TAG, String msg) {
		if (DEBUG) {
			logInfo(TAG, msg, LEVEL_DEBUG);
		}
	}

	/**
	 * Forced debug
	 * @param TAG tag
	 * @param msg debug messages
	 */
	public static void fd(String TAG, String msg) {
		logInfo(TAG, msg, LEVEL_DEBUG);
	}

	/**
	 * Generate separation line
	 * @param pre prefix
	 * @param symbol used for generating separation line
	 * @param post postfix
	 */
	public static void sl(String pre, char symbol, String post) {
		System.err.println(pre + new String(new char[48]).replace('\u0000', symbol) + post);
	}

	/**
	 * @param TAG
	 * @param msg
	 */
	public static void v(String TAG, String msg) {
		if (DEBUG) {
			logInfo(TAG, msg, LEVEL_VERBOSE);
		}
	}

	/**
	 * @param TAG
	 * @param msg
	 */
	public static void i(String TAG, String msg) {
		if (DEBUG) {
			logInfo(TAG, msg, LEVEL_INFO);
		}
	}

	/**
	 * @param TAG
	 * @param msg
	 */
	public static void e(String TAG, String msg) {
		if (DEBUG) {
			logInfo(TAG, msg, LEVEL_ERROR);
		}
	}

	/**
	 * @param TAG
	 * @param msg
	 */
	public static void e(String TAG, String msg, Throwable e) {
		if (DEBUG) {
			if (e != null) {
				e.printStackTrace();
			}
			logInfo(TAG, msg, LEVEL_ERROR);
		}
	}

	/**
	 * @param TAG
	 * @param msg
	 */
	public static void w(String TAG, String msg) {
		if (DEBUG) {
			logInfo(TAG, msg, LEVEL_WARN);
		}
	}

}

Web Proxy Viewer  |  New URL  |  Original Page