大家都在使用什么log库,还是自己写的?

heyatao 2011-09-27 02:32:46
现在要记录一些log信息。VC下可以用boost.log, log4cxx等,那CB下大家用的什么呢?
...全文
260 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
melos 2011-10-10
  • 打赏
  • 举报
回复
类似于妖哥,单开一个线程,只写,将日志纪录在数据库中,保持数据库常开。
royallii 2011-10-10
  • 打赏
  • 举报
回复
网上搜一个Log4cpp,这个很好用,可以控制日志级别,想写就写,不想写配置各参数就ok了。
ccrun.com 2011-09-29
  • 打赏
  • 举报
回复
因为我的应用比较复杂,许多操作都要写日志,频繁打开和关闭文件,会影响效率。所以我的日志类用到单独的线程。
hemiya 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yang_jnu 的回复:]

老妖就是老妖,还用线程,发消息。。。。。我只是单纯一个简单的写函数....
[/Quote]

一样,需要写log的时候就用自己写的函数,没几行,功能很简单。

//---------------------------------------------------------------------------
// 把消息写入日志文件
//---------------------------------------------------------------------------
void __fastcall WriteLog(const String &from, const String &msg)
{
const String fn = _T("debug_log.txt");
const String nl = _T("\r\n"); // new line

int fileH = FileOpen(GetAppPath() + fn,fmOpenWrite);

if (fileH == -1)
fileH = FileCreate(GetAppPath() + fn);

FileSeek(fileH, 0, 2);
AnsiString str;
str = nl + _T("time: ") + Date().DateString() +
_T(" ") + Time().TimeString();
str += nl + _T("from: ") + from;
str += nl + _T("message: ") + msg + nl;
FileWrite(fileH, str.data(), str.Length());

FileClose(fileH);
}

yang_jnu 2011-09-29
  • 打赏
  • 举报
回复
老妖就是老妖,还用线程,发消息。。。。。我只是单纯一个简单的写函数....
jone7319 2011-09-29
  • 打赏
  • 举报
回复
最简单就是用 TStringList
williamsong997 2011-09-29
  • 打赏
  • 举报
回复
用cb的都是火星人嘪。boost为什么不支持啦?
Jonix 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 heyatao 的回复:]

在前几个项目里,boost.log可以指定日志文件的大小,要是到那个大小了,它就会创建个新的文件。不过那个库有点复杂。
CB,就支持boost到 1.39 ,现在好象boost的新版本库中,支持的编译器都没CB了,悲剧啊。
[/Quote]

我就是这么做的。
heyatao 2011-09-29
  • 打赏
  • 举报
回复
在前几个项目里,boost.log可以指定日志文件的大小,要是到那个大小了,它就会创建个新的文件。不过那个库有点复杂。
CB,就支持boost到 1.39 ,现在好象boost的新版本库中,支持的编译器都没CB了,悲剧啊。
ccrun.com 2011-09-29
  • 打赏
  • 举报
回复
目前来看,暂时没什么影响。我的一个日志文件一般在几十MB左右。
heyatao 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 ccrun 的回复:]

我的日志文件是非独占模式,一天一个日志文件。类似IIS的日志文件。
[/Quote]

如果写入的文件大了,会不会影响性能?
ccrun.com 2011-09-29
  • 打赏
  • 举报
回复
我的日志文件是非独占模式,一天一个日志文件。类似IIS的日志文件。
Jonix 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 ccrun 的回复:]

因为我的应用比较复杂,许多操作都要写日志,频繁打开和关闭文件,会影响效率。所以我的日志类用到单独的线程。
[/Quote]

换而言之,你的日志文件是保持打开状态不关闭的?
Jonix 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ccrun 的回复:]

我用自己写的日志类,开辟一个线程,只负责写。其他单元中调用输出日志的函数,发送一个线程消息就不用管了。
[/Quote]

小妖共享一下吧。
Jonix 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ccrun 的回复:]

我用自己写的日志类,开辟一个线程,只负责写。其他单元中调用输出日志的函数,发送一个线程消息就不用管了。
[/Quote]

哦,还用线程啊,我就用一般的写文件类。
BORLANDSUN 2011-09-28
  • 打赏
  • 举报
回复
不是你说的log是不是syslog一类的东西,我一般用TIdSysLog。
我不懂电脑 2011-09-28
  • 打赏
  • 举报
回复
1用数据库记录日志
2少量信息用ini配置文件
3用xml文件
4就用文本文件
麻酱面条 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 songhtao 的回复:]

1用数据库记录日志
2少量信息用ini配置文件
3用xml文件
4就用文本文件
[/Quote]

哥也是这样。
七擒关羽 2011-09-27
  • 打赏
  • 举报
回复
一直以来都是自己实现,简单实用,顺便还可以当测试调试查询用
ccrun.com 2011-09-27
  • 打赏
  • 举报
回复
我用自己写的日志类,开辟一个线程,只负责写。其他单元中调用输出日志的函数,发送一个线程消息就不用管了。

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧