Symbian系统中, 有一个写Log的类。
这个类就是RFileLogger, 这个类是将log输出在一个Log文件中, 并自动附带有一个时间截, 这个类很有用, 可以使用在模拟器上也可以在手机上使用.
使用这上RFileLogger类, 需要包含 flogger.h 头文件, 并连接到 flogger.lib 库. 按网上的说明, 因为这个类呢, 是个可有可无的东西, 很多人自已都可以很快的写出一个函数用来记录Log, 所以在SDK中, 都查不到RFileLogger的使用说明介绍. 我用的是S60 v9.1版本, 好像以前2rd版SDK里有, 不管怎样, 至少这个类3rd里还能用.
不管功能大小, 下面说说它的简单用法.
RFileLogger iLog; //声明实例, 一般为全局
iLog.Connect(); //连接Log服务
iLog.CreateLog(_L("LogDir"),_L("LogFile.txt"),EFileLoggingModeOverwrite);
// 第一个参数是Log文件所在的文件夹,第二个是Log文件名, 第三个文件操作Model, 从命名上很容易看出是采用什么模式
iLog.Write(_L("Log Content!")); //使用Write方法, 在需要打Log的地方使用.
iLog.CloseLog(); //关闭文件
iLog.Close(); //断开Log服务
以上就是这个类最简单的用法, 其时也就是对文件的操作.
但要注意一下: 只有当CreateLog()方法指定的路径, 还有Log文件存在的情况下, Log才能被写入, 其实就是这个方法可以创建文件,但不能创建文件夹. 在模拟器中默认的Log文件夹的位置是: /epoc32/winscw/c/Logs; 而在手机上就是在C:/Logs.
如上面的例子, LogFile.txt文件在模拟器中的位置就在/epoc32/winscw/c/Logs/LogDir文件夹下. 需要手动创建一个LogDir文件夹先.