|
赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
快速本地使用:
z$ N8 R+ U/ Z' ~2 r1. 在Windows电脑上,我们推荐使用WM_COPYDATA消息进行日志传输,资源占用最少,速度最快。2 }7 t' a& Y: } z. w( L+ I* g+ z
2. 如果您的应用程序已经具备UDP或TCP功能,可以直接通过原有的Socket将日志发送到本机的127...1。$ V) I1 a( `3 K" v
3. 对于嵌入式系统的本地调试,您可以通过串口、USB或网口来进行日志传输。' H. L+ T. K, W+ P( T6 I* C. |
8 [7 ]1 {. K* d) A2 p# c5 T便捷远程及云端使用:. I6 u2 A5 s' N5 e0 s+ G9 s
1. 您可以在路由器中设置端口转发功能,将对应的端口转发到安装了CloudLog的电脑上。" x, i: I1 w, [
2. 为了方便获取到电脑所在的IP地址,我们建议使用动态域名系统(DDNS)服务。
, }$ N# l2 o% t7 b" t+ f. |6 n3. 使用云控域名账号,在服务器上保存日志,您可以随时打开CloudLog回读所有未读过的日志。4 D' f0 A0 N# q( R
4 R4 M" E. ^& RCloudLog的日志元素介绍:
. Q2 F7 n3 }" Z2 |, d8 ~. c( N1. 日志等级(Log Level,简写为LL)用于确认日志的重要性。: H E* U6 s3 G# K8 K/ Q& v: t
2. 日期时间Tick(Date Time tick,简写为DT)用于确定日志生成的时刻。$ C* M: e& f4 ?6 P
3. 应用名(App Name,简写为AN)用于确认日志的来源项目或进程。
) P) a" {' W$ i( S# s1 ~( P4 Y4 x5 m4. 标签(Tag,简写为TA)用于按模块化区分日志。
3 a: m+ b8 }: k( Q" T9 B/ e5 t5. 线程标识符(Thread Identity,简写为TI)用于区分多线程。. i1 N7 Q! b+ w4 @! G8 h; ~: }* K
6. 文字内码(Text Code,简写为TC)用于实时调整当前的内码。# a' f0 U& K0 c. ` ]+ t
7. 日志文字(Log Text,简写为LT)可以使用任何内码进行记录。! G, m* G! x5 w/ Y& m! D. m, j1 t
8. 日志缓冲(Log Buffer,简写为LB)可以传送阵列缓冲。
) j0 `4 z/ g8 G' D+ E9. 计时功能可以根据前一条日志的tick,计算出精确到1微秒的用时。& Z1 O4 q+ G! m- }8 S
1 c1 X0 G* V/ j) u& z7 n
CloudLog的日志等级说明:+ ?2 }/ @7 N' t# G
1. Error级别表示严重的问题或软件执行功能错误,是最高等级的日志,无法屏蔽。5 ^; C) I: b& r) S' R, w
2. Warn级别表示可能出现潜在错误的情况,当选择Error级别时,Warn级别的日志将不会显示。8 @6 r6 S, v0 N) }1 j5 ~. [9 f
3. Info级别强调应用程序运行过程中的一些重要信息。
3 ~' \& l0 D; X' x" A$ p. h; W4. Debug级别仅在开发期间有用的调试消息,等级较低,在正式发布时一般不会出现。
0 E: j( Y- S& `/ U, F$ q+ O5. Buffer阵列数值直接显示等级与Debug相同。' |3 {- a9 [4 G0 ^. [) w3 x! }- l2 t
6. Fixer级别用于固定位置显示日志,这些日志不保存到log文件中。
- D {/ o0 i" U- E1 [ `! |
4 N4 } w' V/ Z" o; ]4 O/ xCloudLog的日志过滤器功能:3 ~1 q4 K1 ^0 O. `+ y
1. 可以根据日志等级及各种组合来过滤日志记录。
3 X2 ]6 N h0 l$ A5 d( o2. 关键词可以高亮显示,以增强可读性,您可以自定义加大、加粗或指定专门的颜色进行高亮突出显示。
U6 O0 W3 h( R0 \6 g+ d* p. X$ Q3. 您可以指定关键词,使含有指定关键词的日志不显示。8 ?# O$ g: I6 @' `8 v1 `" Z% m* }
4. 您也可以指定关键词,使含有指定关键词的日志显示。
% L9 Q; m) t! l$ k5. 您还可以根据应用名中的关键词进行显示过滤。
' C, b2 ~% H% @) d( w6. 同样地,您可以根据标签中的关键词进行显示过滤。3 l8 |7 m0 ]. `# D* @* B6 ?3 {
8 d( S2 s+ f* U2 [7 Z d8 p( |, R
CloudLog支持的键值对风格文字:
9 W- H- h4 [" z% h- ^( {1. 使用'&'分隔各个日志元素,每个元素由键值':'数值组成。3 a# D- H5 v) k) h
2. 日期时间Tick、日志文字及日志缓冲的数值使用Base64编码。
& y' ] g! m9 v8 {9 W0 h3. 应用名、标签及线程标识符一般只使用数字或字母。0 I2 J# c( y. t) S* H" f' X
4. 日期时间可以选择是否传送,可以是2字节的毫秒(ms)、3字节的微秒(us)或8字节的全部时间。
5 n5 c" j$ R4 x8 }; D. g) M5. 一个简单的示例:"hello"日志可以表示为:ll:D&/aGVsbG8=
# u/ ^# J7 d8 W2 n0 B6 c3 V& X7 i& B( E& Y# F
CloudLog支持的简易风格文字:( f, f0 \1 X# I* Y! ^4 y
1. 使用空格分隔各个日志元素,请勿调换元素的顺序。
& W) t3 x/ a: o7 Z( u; @2 G2. 最少包含日志等级(LL)空格及日志文字(LT)。
- o6 k. U$ F1 J( H6 w$ l0 ?4 Y9 h3. LL+LT+文字,LT表示4位数的毫秒tick,范围从000到9999,最大可以表示10秒的时间间隔。& ]5 l: R+ G0 [0 o4 E4 c4 N
4. LL+LT+TAG+文字,TAG标签用于按模块化区分日志,一般使用字母表示。/ O3 V; `& T4 x7 L# ?/ m% p
5. LL+LT+TAG+TI+文字,TI为-9的数字,表示线程标识符。! O9 F3 _+ _6 H) Q+ ?
6. LL+LT+TAG+TI+TC+文字,TC为G=GBK内码或U=UTF-8内码。
( C6 E/ q$ N G! N5 V& S2 ]$ x! C6 G3 g
使用开源库CloudLog的方法:" H. h7 A& X, [* }/ }; M& Y$ V' `- B
1. 直接从 https://gitee.com/hsav20/CloudLog.git 克隆整个仓库。/ F u* U' [5 O" |# [
2. 将CloudLog.c和CloudLog.h文件添加到您的项目中。
1 u* M$ i7 k- T- N9 D3. 在对应的平台目录(如PlatformWindows)中找到一个最接近的模板文件FwbConf.h,并将其复制到您的项目中。
3 {" u) c, i2 a2 R/ y7 J4. 根据您的实际使用环境,修改FwbConf.h中的配置信息。
0 J7 D; a* y% x, n* \5 A5. 参考PlatformWindows目录下的main.c文件,您可以了解如何输出不同类型的日志。 |
|