免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 9022 | 回复: 12
打印 上一主题 下一主题

大家的日志系统怎么写? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-06-02 17:46 |只看该作者 |倒序浏览

int test()
{
    int fd;
   fd = open("a",O_RDONLY);
    if ( -1==fd  )
    {
         //记录日志
      return -1;
   }
    close(fd);
    return  0;
}

我希望知道错误发生在哪一行 发生的时间日期  想问问大家都是怎么实现自己日志系统!

论坛徽章:
0
2 [报告]
发表于 2011-06-02 18:05 |只看该作者

  1. int get_time()
  2. {
  3.    time_t t = time(NULL);
  4.    struct tm *local = localtime(&t);
  5.    return
  6.       local->tm_mday * 1000000
  7.     + local->tm_hour * 10000
  8.     + local->tm_min  * 100
  9.     + local->tm_sec;
  10. }

  11. FILE *_log_fp = fopen("log.log","ab+");

  12. fprintf(_log_fp,    "[%s   %d   %s  %d]    ",   __FILE__,   __LINE__,   __func__, get_time()),   \
  13.                                                  fprintf(_log_fp,   __VA_ARGS__),   fflush(_log_fp))


复制代码

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
3 [报告]
发表于 2011-06-02 20:35 |只看该作者
本帖最后由 yulihua49 于 2011-06-02 20:37 编辑

int test()
{
    int fd;
   fd = open("a",O_RDONLY);
    if ( -1==fd  )
    {
         ...
kanhfshiys 发表于 2011-06-02 17:46


1.日志记录:谁(日志id,包括网址登陆名等),何时,做了何事。
2:要有级别控制,调试时级别较高,运行时级别降低,可以控制日志量。
3:空间控制,保证日志不会太大并定时清理。
4:多进程多线程安全。同时记录不乱,并标记各自的id
5。高效率,对应用系统影响小。
6。便于多个服务器节点汇总

系统比较复杂,不会楼上那么简单

论坛徽章:
0
4 [报告]
发表于 2011-06-02 20:40 |只看该作者
lz可以看下开源的log4cxx

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
5 [报告]
发表于 2011-06-02 20:44 |只看该作者
lz可以看下开源的log4cxx
独臂剑客 发表于 2011-06-02 20:40



    只是log4j的简化版,功能严重不足。

论坛徽章:
0
6 [报告]
发表于 2011-06-02 21:00 |只看该作者
回复 5# yulihua49


    我不知大家用的log日志在什么场景,如果从日志的详细来看 log4cxx基本算完善,如果从效率以及扩展性方面要考虑的话,自身可以修改或者自我开发一个都行,当然不同应用场景需求不一样。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
7 [报告]
发表于 2011-06-02 21:28 |只看该作者
回复  yulihua49


    我不知大家用的log日志在什么场景,如果从日志的详细来看 log4cxx基本算完善,如 ...
独臂剑客 发表于 2011-06-02 21:00


比较困难的场合是分布式交易系统,一组交易在不同的服务器,不同的进程/线程处理,要在日志中找到流程。

论坛徽章:
0
8 [报告]
发表于 2011-06-02 21:39 |只看该作者
比较困难的场合是分布式交易系统,一组交易在不同的服务器,不同的进程/线程处理,要在日志中找到流程。 ...
yulihua49 发表于 2011-06-02 21:28



    那为什么分布式交易的日志不单独做成一套呢,单独分出来,简单处理就算日志分开在不同地方,为什么不统一合并呢?

论坛徽章:
0
9 [报告]
发表于 2011-06-09 17:00 |只看该作者
非常感谢大家的回答!

论坛徽章:
0
10 [报告]
发表于 2011-06-09 17:37 |只看该作者
个人觉得日志系统本身不需要强大,应该多花些时间来分析应该在什么地方打日志,应该打些什么日志,提供些什么信息。日志并不是越多越好,太多没用的信息把有用信息淹没了,反而会影响日志的分析。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP