咋打日志( 三 )
php内置error_log、syslog函数功能强大且性能极好,但由于各种缺陷(error_log无错误级别、无固定格式,syslog不分模块、与系统日志混合),灵活度降低了很多,不能满足应用需求。
好消息是,有不少第三方的log类库弥补了上述缺陷,如log4php、plog、Analog等(当然也有很多应用在项目中自己开发的log类)。其中以log4php最为著名,设计精良、格式完美、文档完善、功能强大。推荐。(log4php的性能有待测试)
那么有没有一种log类库满足以下需求呢:
分模块、分级别配置简单(最好是勿须配置)日志格式清晰易读应用简单、性能很棒SeasLog 正是应此需求而生。
目前提供了什么在PHP项目中便捷、规范地记录log可配置的默认log目录与模块指定log目录与获取当前配置初步的分析预警框架高效的日志缓冲、便捷的缓冲debug
■网友
日志编写的总体原则是简单清晰、便于排查问题。
(1)日志编写的基本原则
1)显式输出,关键信息必须输出;
2)在编码时使用正确的日志级别,error错误和warning错误必须反应出实在的含义,不是特别严重的问题不能将日志等级定义为LOG_FATAL;
【咋打日志】 3)在写日志描述时,要使用正常简单易懂的语言,不能使用晦涩难懂的语言或某些专业术语;
4)在极少数特殊情况不希望用户知道时,可使用特殊日志标记;
5)为了写出优美的代码,在自己修改或添加代码的地方,都要正确的打上标记(包括作者、日期信息等),方便追踪版本的演进情况。
(2)日志编写的基本要求
1)分多条信息分别输出,不要企图一次将所有信息打印出来;
2)分时输出;
3)必须分日志级别,这样可根据等级迅速对日志进行分析;
4)控制日志信息的条数,不重要的信息尽量不要打印日志。
(3)输出日志的位置要求
1)所有的输入输出,包括收消息和发消息都要求输出日志;
2)关键控制点必须输出日志;
3)调用底层或第三方软件,必须输出日志,而且对不可靠底层,必须加上begin/end两行日志;
4)对方系统处理时间必须输出日志,以利以后维护时快速定位性能问题。
此外,作者认为,在编写日志时还需要注意以下几点:
1) 在编写日志时需要注重日志细节,目标是为了方便以后维护,在遇到问题时,可以快速定位问题。
2) 不要在同一行中写意思重复的日志。
3) 日志需要足够的精简,不要随意换行。
4) 日志中字段之间可以用空格或其它符号分断,不能将日志一直连续而不将其分断,尽量使日志本身具备进行“识文断句”的能力。
5) 对于日志中的特殊信息(如会话号、IP地址等),用特殊的符号进行标识,其主要目的是为了便于搜索。请参考:程序调试的利器一个简单的日志系统的C代码实现
■网友
卧槽,看了前两位的回答我终于知道,题主问的不是什么工作日志了,而是什么编程软件之类的日志。不过即使这样我也要说一下工作日志怎么写,毕竟来都来了是吧...我给你推荐一下日事清的工作日志法则KPTP它是由4个单词:Keep、Problem、Try、Plan的首字母组成的。
K:keep,今天做了哪些工作;
P:problem,遇到了哪些问题;
T:try,计划尝试如何解决这些问题;
P:plan,明天的计划是什么。
怎么样还不错吧!
■网友
要是C++的话,可以看看log4cplus,java的话可以看看log4j
它们的日志格式就很标准,可以学习。
推荐阅读
- 排便|肠癌来临之前,排便时可能会出现4种现象,若你有,须引起注意
- 趣头条|独特的闽台民俗 ,与大皓影感受闽南文化的丰富绚丽.
- IBM的前途怎样
- 地沟油|农村人最爱的这种油,可能却是“伤肝”利器!吃之前注意这个细节
- 自己需要开发一个教育视频网站,之前没有接触视频开发这方面,从技术角度怎样开发
- 癌细胞|癌细胞扩散之前,身体会接收到哪些信号?早一点面对现实吧
- 中专毕业25岁女之前一直在商场做导购 有驾照 现在想学门技术 以后也想提升学历 但是不知道学啥
- 注销豆瓣之前,有啥简便的备份方法吗
- 上游新闻|俩9岁儿童参加汽车越野赛 之前没摸过车
- 有1000万资金,咋组织互联网团队
