|
赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
快速本地使用: G& q+ I: T) n4 e7 Q
1. 在Windows电脑上,我们推荐使用WM_COPYDATA消息进行日志传输,资源占用最少,速度最快。 F) ~" i# ]+ a0 N
2. 如果您的应用程序已经具备UDP或TCP功能,可以直接通过原有的Socket将日志发送到本机的127...1。
. \" `7 }1 L+ k) e3. 对于嵌入式系统的本地调试,您可以通过串口、USB或网口来进行日志传输。
; x5 F5 G" }" v) n. I" l( I3 Z- ^5 O! q' q; U4 b. B @
便捷远程及云端使用:
* C& Y- K& v6 e/ A2 T1. 您可以在路由器中设置端口转发功能,将对应的端口转发到安装了CloudLog的电脑上。 W+ y8 |$ M: _+ o j3 W
2. 为了方便获取到电脑所在的IP地址,我们建议使用动态域名系统(DDNS)服务。# S9 j" Q, w, H$ c9 B+ v# J
3. 使用云控域名账号,在服务器上保存日志,您可以随时打开CloudLog回读所有未读过的日志。$ }* O. I; t- t3 W; T9 N
% B; k k( P v8 C kCloudLog的日志元素介绍:1 [' D& [, P) U
1. 日志等级(Log Level,简写为LL)用于确认日志的重要性。
4 m; V$ J5 D% u4 a& C2. 日期时间Tick(Date Time tick,简写为DT)用于确定日志生成的时刻。
4 l# I! ~! s @) U3. 应用名(App Name,简写为AN)用于确认日志的来源项目或进程。
0 y8 N' K5 v+ }; f: S( |4. 标签(Tag,简写为TA)用于按模块化区分日志。
, X2 @, l' D5 W2 G' D3 b5. 线程标识符(Thread Identity,简写为TI)用于区分多线程。
7 N1 z1 N) ?; E3 D6. 文字内码(Text Code,简写为TC)用于实时调整当前的内码。8 b/ i; l# v# D: N6 I: Y
7. 日志文字(Log Text,简写为LT)可以使用任何内码进行记录。
8 N3 l. \& j6 B m4 \' G8. 日志缓冲(Log Buffer,简写为LB)可以传送阵列缓冲。
' V: O1 j0 }! Z b1 U( W0 ~: x! M4 Z9. 计时功能可以根据前一条日志的tick,计算出精确到1微秒的用时。
( B4 ]" G i) x9 w; P4 F: _3 W
; y3 t2 C3 z$ J' aCloudLog的日志等级说明:
% s$ k8 K+ ?, q- T# E ~5 D2 l( D1. Error级别表示严重的问题或软件执行功能错误,是最高等级的日志,无法屏蔽。
3 F4 ^8 \( C# @# j# }. K2. Warn级别表示可能出现潜在错误的情况,当选择Error级别时,Warn级别的日志将不会显示。
, l& d" K* `5 ], P# I; }3. Info级别强调应用程序运行过程中的一些重要信息。
& `( g( ^$ u) h/ l/ W7 g7 g4. Debug级别仅在开发期间有用的调试消息,等级较低,在正式发布时一般不会出现。2 a" O/ U6 d/ t( Z+ D E
5. Buffer阵列数值直接显示等级与Debug相同。0 n5 l6 e/ _% u$ I G7 O3 q
6. Fixer级别用于固定位置显示日志,这些日志不保存到log文件中。# K( Q9 _$ l7 ]) D# g
8 [, o n: R, t; L
CloudLog的日志过滤器功能:4 @/ j7 a! i3 m3 N. |- ?, j. b
1. 可以根据日志等级及各种组合来过滤日志记录。0 N- H* D, U; @6 Y5 y
2. 关键词可以高亮显示,以增强可读性,您可以自定义加大、加粗或指定专门的颜色进行高亮突出显示。
" Z2 j S) H* X: I' E3. 您可以指定关键词,使含有指定关键词的日志不显示。
0 a1 M& U# q. Y) L9 L2 v4. 您也可以指定关键词,使含有指定关键词的日志显示。
+ ~. M2 {5 E; B8 ?5. 您还可以根据应用名中的关键词进行显示过滤。
. C9 t% h1 x- o+ L% ]6. 同样地,您可以根据标签中的关键词进行显示过滤。" l& W6 z7 E" g) j
+ N+ _, ~ z1 P0 D" V
CloudLog支持的键值对风格文字:6 v( S4 y5 G' O8 J/ A4 }- N l
1. 使用'&'分隔各个日志元素,每个元素由键值':'数值组成。4 S* H3 f# |7 ]9 h' s5 f: x3 q
2. 日期时间Tick、日志文字及日志缓冲的数值使用Base64编码。" A1 f7 l2 H2 s0 w$ F
3. 应用名、标签及线程标识符一般只使用数字或字母。. V+ e& }* z+ k$ U1 ?. c
4. 日期时间可以选择是否传送,可以是2字节的毫秒(ms)、3字节的微秒(us)或8字节的全部时间。/ u: C& l7 T+ G q5 D* s9 @, z9 l
5. 一个简单的示例:"hello"日志可以表示为:ll:D&/aGVsbG8=
6 V5 @: Y+ m+ N2 K) X+ C& J/ |; [9 b6 q3 d; Q/ E
CloudLog支持的简易风格文字:
2 t7 }2 b/ U8 x1. 使用空格分隔各个日志元素,请勿调换元素的顺序。
0 c. E1 \: y" h! q1 \2. 最少包含日志等级(LL)空格及日志文字(LT)。$ d& B; R- l* G3 @, D6 a
3. LL+LT+文字,LT表示4位数的毫秒tick,范围从000到9999,最大可以表示10秒的时间间隔。 i. q, q& S5 D* Y
4. LL+LT+TAG+文字,TAG标签用于按模块化区分日志,一般使用字母表示。
/ _( a6 {; O+ r) i* U2 t5. LL+LT+TAG+TI+文字,TI为-9的数字,表示线程标识符。
- H, I5 `# J) c/ B6. LL+LT+TAG+TI+TC+文字,TC为G=GBK内码或U=UTF-8内码。
5 [( ^0 B7 y( @6 M6 c* }) s! F) J$ z, q- k( ~& L
使用开源库CloudLog的方法:1 u; {! A4 {: t% O }2 z- }6 F
1. 直接从 https://gitee.com/hsav20/CloudLog.git 克隆整个仓库。
7 k5 Z/ z5 q! Y* v/ m6 r2. 将CloudLog.c和CloudLog.h文件添加到您的项目中。0 }) b$ e5 V" H( w. t% z
3. 在对应的平台目录(如PlatformWindows)中找到一个最接近的模板文件FwbConf.h,并将其复制到您的项目中。; y( u& t1 W8 P/ V, r; S
4. 根据您的实际使用环境,修改FwbConf.h中的配置信息。
; w5 \. s7 _, m- j( Z; i& T( `& Y5. 参考PlatformWindows目录下的main.c文件,您可以了解如何输出不同类型的日志。 |
|