浅析symbian中RFileLogger用法
大伙,新年好啊。给各位拜个晚年了。
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文件夹先.