Ogre日志
来源:互联网 发布:三峡大学教务网络 编辑:程序博客网 时间:2024/06/05 16:34
http://blog.csdn.net/pizi0475/article/details/5451267
me:注意代码部分有改动
用文件来记录Ogre系统初始化、运行、结束以及调试信息。使用日志便于我们调试程序。
日志系统的组成
Ogre日志系统由两个类组成:Log类与LogManager。下面我们分别来看这两个类。
Log类
代表用于记录信息的日志。Log类的一个对象对应于一个日志文件。
Log类提供了向日志文件写信息的函数logMessage,其定义如下:
void logMessage(const String& message, LogMessageLevel lml = LML_NORMAL);
参数message,String类型的变量,存储要写入的信息。
参数lml,指定传入信息的级别,来衡量一条信息的重要程度。
参数值
信息的重要程度
LML_TRIVIAL
最低
LML_NORMAL
一般
LML_CRITIAL
最高
为了判断一条信息的重要性,从而决定是否将该信息写入日志文件。我们不光要衡量信息的重要程度,还应该同时考虑日志文件的重要程度。Log类提供了一个函数setLogDetail来设置日志文件的重要程度,其定义如下:
void setLogDetail(LoggingLevel ll);
参数ll,指定该日志文件的级别,来衡量日志文件的重要程度。
参数值
代表日志文件的重要程度
LL_LOW
最低
LL_NORMAL
一般
LL_BOREME
最高
LogManager类
管理所有Log类的对象,也就是管理所有的日志文件。并负责向日志文件中输出信息。
LogManager类提供了创建Log对象的成员函数createLog。
注意,不要用Log类直接创建对象,而要用LogManager的createLog函数来创建Log对象。因为这保证了:使LogManager维护所有的Log对象,通过LogManager可以方便地进行查找等操作。createLog定义如下:
Log* createLog( const String& name, bool defaultLog = false, bool debuggerOutput = true );
参数name是String类型的,它指定所创建日志文件的文件名,如Ogre.log。
参数defaultLog是布尔类型的,如果为true,则把当前创建的日志文件设置为LogManager默认的日志文件。调用LogManager的接口函数都对此文件生效。
参数debuggerOutput是布尔类型的,如果为true,则不只向日志文件中输出信息,还向调试窗口中输出信息。
成员函数
成员函数getLog可以通过文件名得到其代表的Log对象。它的定义如下:
Log* getLog( const String& name);
参数name指定了要查找的日志文件名。
设置默认Log文件级别的成员函数:
void setLogDetail(LoggingLevel ll);
参数ll指定默认日志文件的重要程度,它可以是:
参数值
信息的重要程度
LML_TRIVIAL
最不重要
LML_NORMAL
一般
LML_CRITIAL
最重要
成员函数getDefaultLog返回默认的Log对象
Log* getDefaultLog();
成员函数logMessage向默认的日志文件中写入信息,它有两种形式:
void logMessage( const String& message, LogMessageLevel lml = LML_NORMAL);
void logMessage( LogMessageLevel lml, const char* szMessage, ... );
参数lml指定传入的信息的重要程度。
第一个logMessage可以向日志文件中写入一条信息。第二个logMessage可以写入接收的多条信息。
日志系统的使用举例
程序概述
重载ExampleApplication内的createScene函数,在函数内创建一个名为Test.log的日志文件,并向该文件中写入一段信息。
代码
#include "LogManager.h"using namespace NASA;LogManager logMgr;void main(){//if(LogManager::getSingletonPtr() == 0)//{//mLogManager = OGRE_NEW LogManager();//mLogManager->createLog(logFileName, true, true);//}Log *p_Log = LogManager::getSingleton().createLog( "test.log" );p_Log->logMessage( "I write a message to test.log" );}
me:我从ogre中分离出其日志管理系统。可以从我的资源中下载到。
在createScene函数中,首先调用LogManager的createLog成员函数来创建一个名为test.log的日志文件,并用p_Log保存此日志文件的指针。然后,我们通过Log的成员函数logMessage向test.log中写入一句话。
执行一遍程序后,你会发现程序可执行文件所在的目录下多了一个名为test.log的文件,接着打开test.log,你会看见一行字:I write a message to test.log。
当然,这个程序所做的并没有什么意义。它的目的只是演示一下Ogre日志系统的使用方法,
关于Ogre日志系统的应用,在下一部分异常处理中还有介绍。
- Ogre日志
- OGRE日志文件
- Ogre日志系统回顾
- Ogre日志系统回顾
- ogre中显式写入日志文件
- Ogre 异常处理和日志
- Ogre 异常处理和日志
- Ogre 异常处理和日志
- Ogre及C++程序日志文件
- OGRE 1.0 至 1.7.3 更新日志
- OGRE 1.0 至 1.7.3 更新日志
- Ogre
- ogre
- OGRE
- OGRE
- ogre
- OGRE
- ogre
- gcc命令行详解
- 菜鸟之系统建模经验之谈----"机房收费系统"三层架构
- 一个关于fork的面试题
- 如何设置JavaScript某个自定义的对象属性为只读
- 修改oracle11g存档模式
- Ogre日志
- 关于Linux操作系统makefile实例详细解析
- 如何在unity中使用sqlite,需要哪些库
- AE 常用代码
- mysql char 和 varchar 区别
- SetBkMode函数理解
- 软件测试的经济学
- 让一层div遮住全窗口 另一层显示登陆框自动居中的css代码
- codeforces 183 B Zoo--计算几何+枚举