<commit_before>/***********************************************************************************
**  
* @copyright (c) 2013-2100, ChengDu Duyer Technology Co., LTD. All Right Reserved.
*
************************************************************************************/
/**
* @file		g_logger.h
* @version     
* @brief      
* @author	duye
* @date		2014-2-18
* @note 
*
*  2. 2014-06-21 duye move to gohoop 
*  1. 2014-02-18 duye Created this file
* 
*/

#pragma once

#include <g_system.h>

/**
 * @brief init log system
 */
#define G_LOG_INIT() GLogger::init()

/**
 * @brief uninit log system
 */
//#define G_LOG_UNINIT() GLogger::uninit()

/**
 * @brief print error log
 * @param [in] module : module name
 * @param [in] args : parameters
 */
#define G_LOG_ERROR(module, args...) GLogger::printError(module, __FILE__, __LINE__, __FUNCTION__, ##args)

/**
 * @brief print warning log
 * @param [in] module : module name
 * @param [in] args : parameters
 */
#define G_LOG_WARN(module, args...) GLogger::printWarn(module, __FILE__, __LINE__, __FUNCTION__, ##args)

/**
 * @brief print info log
 * @param [in] module : module name
 * @param [in] args : parameters
 */
#define G_LOG_INFO(module, args...) GLogger::printInfo(module, __FILE__, __LINE__, __FUNCTION__, ##args)

/**
 * @brief print debug log
 * @param [in] module : module name
 * @param [in] args : parameters
 */	
#define G_LOG_DEBUG(module, args...) GLogger::printDebug(module, __FILE__, __LINE__, __FUNCTION__, ##args)

/**
 * @brief print trace log
 * @param [in] module : module name
 * @param [in] args : parameters
 */
#define G_LOG_TRACE(module, args...) GLogger::printTrace(module, __FILE__, __LINE__, __FUNCTION__, ##args)  

/**
 * system log tool
 */
class GLogger
{
public:
	/**
	 * @brief init
	 */
	static GResult init();

	/**
	 * @brief uninit
	 */
	static GResult uninit();

	/**
	 * @brief print log
	 * @param [in] module : module name
	 * @param [in] file : file path
	 * @param [in] line : line number
	 * @param [in] function : function name
	 * @param [in] args : log content
	 */
	static void printError(const GInt8* module, 
		const GInt8* file, 
		const GUint32 line, 
		const GInt8* function,
		const GInt8* args, ...);

	/**
	 * @brief print log
	 * @param [in] module : module name
	 * @param [in] file : file path
	 * @param [in] line : line number
	 * @param [in] function : function name
	 * @param [in] args : log content
	 */
	static void printWarn(const GInt8* module, 
		const GInt8* file, <commit_msg>Update g_logger.h<commit_after>/***********************************************************************************
**  
* @copyright (c) 2013-2100, ChengDu Duyer Technology Co., LTD. All Right Reserved.
*
************************************************************************************/
/**
* @file		g_logger.h
* @version     
* @brief      
* @author	duye
* @date		2014-2-18
* @note 
*
*  2. 2014-06-21 duye move to gohoop 
*  1. 2014-02-18 duye Created this file
* 
*/

#pragma once

#include <g_system.h>

/**
 * @brief init log system
 */
#define G_LOG_INIT() GLogger::init()

/**
 * @brief print error log
 * @param [in] module : module name
 * @param [in] args : parameters
 */
#define G_LOG_ERROR(module, args...) GLogger::printError(module, __FILE__, __LINE__, __FUNCTION__, ##args)

/**
 * @brief print warning log
 * @param [in] module : module name
 * @param [in] args : parameters
 */
#define G_LOG_WARN(module, args...) GLogger::printWarn(module, __FILE__, __LINE__, __FUNCTION__, ##args)

/**
 * @brief print info log
 * @param [in] module : module name
 * @param [in] args : parameters
 */
#define G_LOG_INFO(module, args...) GLogger::printInfo(module, __FILE__, __LINE__, __FUNCTION__, ##args)

/**
 * @brief print debug log
 * @param [in] module : module name
 * @param [in] args : parameters
 */	
#define G_LOG_DEBUG(module, args...) GLogger::printDebug(module, __FILE__, __LINE__, __FUNCTION__, ##args)

/**
 * @brief print trace log
 * @param [in] module : module name
 * @param [in] args : parameters
 */
#define G_LOG_TRACE(module, args...) GLogger::printTrace(module, __FILE__, __LINE__, __FUNCTION__, ##args)  

/**
 * system log tool
 */
class GLogger
{
public:
	/**
	 * @brief init
	 */
	static GResult init();

	/**
	 * @brief print log
	 * @param [in] module : module name
	 * @param [in] file : file path
	 * @param [in] line : line number
	 * @param [in] function : function name
	 * @param [in] args : log content
	 */
	static void printError(const GInt8* module, 
		const GInt8* file, 
		const GUint32 line, 
		const GInt8* function,
		const GInt8* args, ...);

	/**
	 * @brief print log
	 * @param [in] module : module name
	 * @param [in] file : file path
	 * @param [in] line : line number
	 * @param [in] function : function name
	 * @param [in] args : log content
	 */
	static void printWarn(const GInt8* module, 
		const GInt8* file, 
{'fraction_non_alphanumeric': 0.21269191402251791, 'fraction_numerical': 0.016786079836233366, 'mean_word_length': 3.7575462512171374, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3925075', 'n_tokens_mistral': 1673, 'n_tokens_neox': 1557, 'n_words': 495}