User Tools

Site Tools


class:kernel:xlogger

Logger

Inherited from NULL

Inherited by NULL

Friend class NULL

Description

Logger为XT提供四个级别的日志记录功能,包括错误(error)、警告(warning)、提示(info)、调试(debug),通过设置Logger的文件名可将日志信息重定向输出添加到指定文件的尾部。日志记录的输出范围按照不同级别逐步扩大,比如警告将输出包含错误在内的记录,而调试则输出前述所有记录。Logger的日志记录按行输出,每个记录包含有时间信息,层次信息,标题和日志内容几块。Logger在XT中仅存有一个实例,输出日志记录时只需如下调用即可:

XT::Logger::getInstance()->writeLog(XT::LogDebug,"GL","test %d",1);

输出为:

13/02/06 14:26:44 ][DEBUG   ][GL     ]	test 1

Members

Public interface

Private interface


char m_strFileName

日志记录输出的文件名

LOG_LEVEL m_iLevel

当前日志记录输出的级别,为LogError,LogWarning,LogInfo,LogDebug四个级别中任意一个

FILE * m_pFile

日志记录输出的文件指针


static Logger * getInstance()

  • function: 获取日志系统的实例,日志系统仅可实例化一次
  • parameters: NULL
  • return value: 日志系统实例的指针

void setFileName(const char * filename,bool bAdd = false)

  • function: 设置日志记录输出的文件名,此时文件指针会重新初始化
  • parameters:
    1. [i]const char * filename: 文件名
    2. [i]bool bAdd = false: 如果文件已经存在,true时添加到文件尾部,否则重新记录
  • return value: 无

void setLevel(LOG_LEVEL iLevel)

  • function: 设置日志记录的输出级别
  • parameters:
    1. [i]LOG_LEVEL iLevel: 输出级别
  • return value: 无

const char * getFileName()

  • function: 获取日志记录当前输出的文件名
  • parameters: NULL
  • return value: 文件名字符串

void writeLog(LOG_LEVEL level,const char * title,char * format,…)

  • function: 当level不低于实例的输出级别时,按照指定格式输出日志记录
  • parameters:
    1. [i]LOG_LEVEL level: 当前记录的输出级别,当它高于或等于日志的系统级别时可输出
    2. [i]const char * title: 记录的标题
    3. [i]char * format: 记录的格式,与printf类似
    4. [i]…: 可添加多个参数,与printf类似。
  • return value: 无

Logger()

  • function: 日志系统构造函数,私有函数以禁止多个实例
  • parameters: NULL
  • return value: 无

void getTimeString(char * pStr)

  • function: 获取日志记录当前的时间戳
  • parameters:
    1. [i]char * pStr: 时间戳字符串
  • return value: 无

void print(const char * msg)

  • function: 实时打印字符串
  • parameters:
    1. [i]const char * msg: 消息字符串
  • return value: 无
class/kernel/xlogger.txt · Last modified: 2022/08/09 08:03 (external edit)