博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
应用开发中的Log技术(一) - 天河的日志 - 网易博客
阅读量:5863 次
发布时间:2019-06-19

本文共 1113 字,大约阅读时间需要 3 分钟。

应用开发中的Log技术(一)   

2012-07-12 18:21:29|  分类: |  标签:  |字号  

       开发过程中,log是一种重要的调试手段。
       目前Android系统提供了logcat,而且也有Api接口,供开发人员在编程时直接使用这种技术进行log输出。
       Linux系统也有即的log系统,但不清楚有没有提供Api接口供开发人员在编程时使用。
       使用系统的log系统有很多优点,例如不用自己变成实现log管理功能,直接使用系统提供的Api接口即可。但是,也有不便之处。例如,诸多应用的log和系统本身的log混杂在一起,不方便,虽然可以查询的时候进行过滤;不知是否动态设置哪个级别log进行输出,避免不必要的输出,减少地系统资源的 消耗;不知道是否支持有些信息仅作为debug时的功能存在。
        如果要自己写一个log系统,则如下几个需求应该是可以考虑的:
1.有些log输出功能仅在debug时存在 ,在release版本中直接没有该功能了。
    这对提高release版本的运行效率是有好处的。
    在c语言开发中,可以通过宏定义来实现,则在release版本中,
编译之后的实际代码中,完全没有这些功能。
2、log支持分级,可以在程序运行过程中动态设置启用哪些级别的log功能

     这可以通过if等条件语句来实现,和1相比,编译之后,该功能的代码是存在的,只是在运行时不执行该分支。

3、log支持通过某个控制台、管道、串口等输出,也应该支持保存到文件中。

     应该支持通过进行设置更改输出目的地。

4、支持分类,不同分类,可以输出到不同的目的地。

5、保存成文件时,应该支持根据时间啥的进行管理,例如可以支持每个小时输出成一个文件,每天的输出作为一个目录等等。

6、对debug信息,可以在其中包含文件和行数信息,将来对log阅读管理时,可以和源码阅读关联起来,例如,可以双击某一个log,则直接跳到相应的位置。

 

网上可用的log库

        目前了解,Log4j系列有很多在c和c++上的类似库,例如Log4c、Log4cpp、Log4cxx、Log4net等等。

         另外还有:google的 GLog, Log4j作者推出的另一种开源Log系统:LogBack

 

Log4c是纯c实现的,可移植性要比其他几种好。后面是网址:

官网:

嵌入式移植: 该项目已经停止。

 

下面网址中有一个非常简单的:
      
      该作者的空间中还有几篇很不错的文章和例子:
      例如Linux下经过调试的mempool、例如zero-copy 的:使用sendfile()让数据传输得到最优化,TCP_CORK、TCP_DEFER_ACCEPT和TCP_QUICKACK优化网络

转载地址:http://qtunx.baihongyu.com/

你可能感兴趣的文章
redis密码设置、访问权限控制等安全设置 - chuquan.ou - 博客园 http://www.cnblogs.com/langtianya/p/5189234.html...
查看>>
event 事件 自定义滚动条 控制文字滚动
查看>>
【例题收藏】◇例题·I◇ Snuke's Subway Trip
查看>>
自定义SearchView实现即时查询
查看>>
Applet的应用——绘制图形
查看>>
一道面试题-变量声明提升~
查看>>
ssh端口映射
查看>>
福大软工1816 · 第五次作业 - 结对作业2
查看>>
201521123040《Java程序设计》第9周学习总结
查看>>
Java的数组堆溢出问题
查看>>
浮动的清除 -- 四种方法
查看>>
iOS地图 -- 区域监听的实现和小练习
查看>>
新手应该知道的二十三条关于JavaScript的最佳实践
查看>>
Select Case 的简单实现
查看>>
DB2函数大全
查看>>
VS2012以后版本MFC程序发布记录,支持XP
查看>>
docker-构建 oracle12c-r2(12.2.0.1) 的镜像
查看>>
C#并行编程中的Parallel.Invoke
查看>>
RMAN_学习笔记3_RMAN Catalog恢复目录
查看>>
【转】索引概念、分类
查看>>