1
besto 2014-12-01 10:45:32 +08:00
Log这种东西吧,要配合grep一起用,个人愚见。打的多没关系,只要别严重影响性能就好,靠关键词区分最好
|
2
icedx 2014-12-01 10:50:51 +08:00 via Android
这个可以做什么
|
3
Akagi201 OP |
4
bookit 2014-12-01 11:08:50 +08:00 1
|
5
lsmgeb89 2014-12-01 11:20:10 +08:00 1
这个只能个人小项目用用吧。大项目 log 多了影响性能的,所以要有配置文件控制输出那些。
0. 头文件兼容 C++ 1. 加时间输出 2. 跨平台 3. 线程安全 4. 根据配置文件调整级别,不要重编译 5. 启动时注册模块,根据配置文件,输出不同模块的 log。 6. 根据配置文件调整输出对象(文件、终端。。。) 其实很多库都带的 log 功能的,Windows API,boost,QT 而且 Windows 下的那个对性能影响很小。 |
6
Akagi201 OP @lsmgeb89 我的想法也是大项目根据自己特点自己写日志库吧,小项目不用那么复杂功能就不要造轮子了
|
7
sharebox 2014-12-01 11:49:28 +08:00
不建议搞这么复杂,日志多了估计会有影响。 直接在每行日志把级别打上,分析的时候grep一下多简单。
|
8
ChanneW 2014-12-01 12:39:12 +08:00
楼主的库一统江湖,成为行业标准.以后招聘程序员就得加一条:非色盲色弱.
|
9
Akagi201 OP |
10
sharebox 2014-12-01 13:18:24 +08:00
@Akagi201 实际环境中,应该没有人整天守着服务器看日志吧,你加个警报也没人听得到,还不如加邮件告警。一般的大项目,尤其是分布式应用,日志每天都是几十G的产生,可能更多,基本上都是统一打包送到日志服务器,有专门的分析服务,出了问题会首先看过滤后的结果,不然找日志都麻烦。
不过看样子,好像是歪楼了,呵呵。 |
11
jemyzhang 2014-12-01 13:46:10 +08:00
log最好用字符区分,便于查找,颜色啥的都是噱头
|
12
twilight 2014-12-02 14:25:53 +08:00
@lsmgeb89 "其实很多库都带的 log 功能的,Windows API"是指Windows Event Log Functions么?
|
13
Weakdancer 2014-12-04 20:19:42 +08:00 1
我的方法是事物名字的hash值转化成对应的RGB颜色就行了,颜色看久了就会有条件反射的感觉了。
比如看到绿色就知道是warning等。 另外可以直接红橙黄绿青蓝紫也可以。 这是我之前写个管理很多项目编译的操作面板。 颜色就是 : bg="#%6X"%abs(hash(f)/200) f就是名字。 http://v2ex.com/i/A5c93DnE.jpeg 另外这是我以前在C51下写的logging,能用而已。 http://myswap.sinaapp.com/wd/logging.h |
14
Akagi201 OP @Weakdancer 我这个目前只有level的控制, 后面可能考虑加入module的控制. 当然还是能在运行时控制最好了, 不过我的需求目前不需要, 因为我是提供库给别人用, 别人绝对不会在运行时用我的日志库, 一定是用他自己的.
另外, 我觉得重要是的把严重错误突出显示出来. 属于哪个模块相对次要, 可以发现错误了在看. 相关的项目有个`Colormake`, 我也在用的, 等有空看看他的颜色是怎么定的吧. |
15
Akagi201 OP @Weakdancer 你这网站挺奇葩的, 呵呵. 现在web开发方向技术发展很快, 我想引入一些思想到嵌入式里面来.
|