|
快速本地使用:
; P) O8 |' o" P& N9 I: d6 ^1 R4 s" l1. 在Windows电脑上,我们推荐使用WM_COPYDATA消息进行日志传输,资源占用最少,速度最快。
4 z( T8 A+ {# s2. 如果您的应用程序已经具备UDP或TCP功能,可以直接通过原有的Socket将日志发送到本机的127...1。
; x; J, B: V' l: ?+ E P4 i/ j3. 对于嵌入式系统的本地调试,您可以通过串口、USB或网口来进行日志传输。
A6 k2 P+ I; `1 _1 H$ M5 ~3 d: W# s N" g e0 d
便捷远程及云端使用:" \ q; r9 `+ N
1. 您可以在路由器中设置端口转发功能,将对应的端口转发到安装了CloudLog的电脑上。$ T- b9 D9 B: L% K
2. 为了方便获取到电脑所在的IP地址,我们建议使用动态域名系统(DDNS)服务。
- t9 p' t- e- P% y, Q0 F) I3. 使用云控域名账号,在服务器上保存日志,您可以随时打开CloudLog回读所有未读过的日志。) Y$ z- Z3 n2 r; h
. l8 e+ g6 p/ O5 }/ T
CloudLog的日志元素介绍:1 d# }8 S- I/ V9 }( f! F
1. 日志等级(Log Level,简写为LL)用于确认日志的重要性。
; V$ n& ^# o8 g& ^2. 日期时间Tick(Date Time tick,简写为DT)用于确定日志生成的时刻。
2 { n2 {8 o& a6 `, Q3. 应用名(App Name,简写为AN)用于确认日志的来源项目或进程。
& D! `2 O }- o' ~$ K4. 标签(Tag,简写为TA)用于按模块化区分日志。
, T$ b4 j( c, C. S- Z5. 线程标识符(Thread Identity,简写为TI)用于区分多线程。
! ]" E0 o/ |5 ^0 O2 i: T% }4 f6. 文字内码(Text Code,简写为TC)用于实时调整当前的内码。6 }# ^- g% M2 R; Y
7. 日志文字(Log Text,简写为LT)可以使用任何内码进行记录。/ O6 u2 Y* [* R' h% v/ x. h/ p
8. 日志缓冲(Log Buffer,简写为LB)可以传送阵列缓冲。5 _' D- B1 ?% Y
9. 计时功能可以根据前一条日志的tick,计算出精确到1微秒的用时。
7 f, T% W/ [: |* e
, b+ u& D/ z, s u. N9 iCloudLog的日志等级说明:, `, n9 @5 `! v3 ]7 ?3 U
1. Error级别表示严重的问题或软件执行功能错误,是最高等级的日志,无法屏蔽。5 M) D$ V. R. a
2. Warn级别表示可能出现潜在错误的情况,当选择Error级别时,Warn级别的日志将不会显示。
7 Y( Z/ |+ m: t2 T' f" t S8 l3. Info级别强调应用程序运行过程中的一些重要信息。
6 }$ q6 `+ V& s7 M4. Debug级别仅在开发期间有用的调试消息,等级较低,在正式发布时一般不会出现。7 H: U" c/ n2 a
5. Buffer阵列数值直接显示等级与Debug相同。
2 C O' X! f2 T: ~" }# W5 F6. Fixer级别用于固定位置显示日志,这些日志不保存到log文件中。4 _" j3 J+ s' ~) E' G; l
9 X% X0 k( J, V7 X! K* s$ w
CloudLog的日志过滤器功能:
3 l. [: z" a+ l6 t- X; K1. 可以根据日志等级及各种组合来过滤日志记录。 F5 Z) n/ _" d
2. 关键词可以高亮显示,以增强可读性,您可以自定义加大、加粗或指定专门的颜色进行高亮突出显示。/ b5 M3 q% l, Z" m5 {. u
3. 您可以指定关键词,使含有指定关键词的日志不显示。
& S3 R: @1 `/ K+ `2 G4. 您也可以指定关键词,使含有指定关键词的日志显示。
. d0 G& q4 m+ U1 u; M5. 您还可以根据应用名中的关键词进行显示过滤。
6 n" w z# z! ?1 z9 W6. 同样地,您可以根据标签中的关键词进行显示过滤。
3 p( S* Q+ }: N
1 |$ V+ x2 g9 b! F# `$ DCloudLog支持的键值对风格文字:
* y3 x/ D, b/ Q. C+ E4 }9 w1. 使用'&'分隔各个日志元素,每个元素由键值':'数值组成。
, F( d; @; R& z: _% s% C2. 日期时间Tick、日志文字及日志缓冲的数值使用Base64编码。
! |) o5 ?' K# F3. 应用名、标签及线程标识符一般只使用数字或字母。
; X6 @2 l- L, V4. 日期时间可以选择是否传送,可以是2字节的毫秒(ms)、3字节的微秒(us)或8字节的全部时间。" m% T/ c& p) B7 y0 y
5. 一个简单的示例:"hello"日志可以表示为:ll:D&/aGVsbG8=3 B; v$ W6 F& a
# q( x" F. Z; z* u
CloudLog支持的简易风格文字:
8 L- @) D6 w5 |1. 使用空格分隔各个日志元素,请勿调换元素的顺序。+ t& \8 X, @4 p( z3 a
2. 最少包含日志等级(LL)空格及日志文字(LT)。: c. {" ?4 T# J7 }
3. LL+LT+文字,LT表示4位数的毫秒tick,范围从000到9999,最大可以表示10秒的时间间隔。! g7 L4 A4 ], U9 u4 Z7 D: X
4. LL+LT+TAG+文字,TAG标签用于按模块化区分日志,一般使用字母表示。0 T7 B" N2 {" V4 [8 i$ V
5. LL+LT+TAG+TI+文字,TI为-9的数字,表示线程标识符。
; e# T7 i9 N+ g" I4 l. p6. LL+LT+TAG+TI+TC+文字,TC为G=GBK内码或U=UTF-8内码。
) c, c7 j2 ~: L! `- ~+ x' N7 U, g! A- Y' ]( }7 c6 }
使用开源库CloudLog的方法:/ Q( X9 j" F) b$ \8 C3 W
1. 直接从 https://gitee.com/hsav20/CloudLog.git 克隆整个仓库。( e7 N0 K- a( L5 w; h
2. 将CloudLog.c和CloudLog.h文件添加到您的项目中。
0 I3 r- I( z+ Z+ _7 x6 `2 h3. 在对应的平台目录(如PlatformWindows)中找到一个最接近的模板文件FwbConf.h,并将其复制到您的项目中。* } p* _' k5 j+ Y* j, N$ ~# {
4. 根据您的实际使用环境,修改FwbConf.h中的配置信息。
6 x! k6 v) e6 x( ~5. 参考PlatformWindows目录下的main.c文件,您可以了解如何输出不同类型的日志。 |
|