|
|
快速本地使用:3 J, ]$ P( e" I- a: d1 k# G
1. 在Windows电脑上,我们推荐使用WM_COPYDATA消息进行日志传输,资源占用最少,速度最快。$ N" j; s9 b% M
2. 如果您的应用程序已经具备UDP或TCP功能,可以直接通过原有的Socket将日志发送到本机的127...1。/ a+ S) p2 I% K& v, {' n. y
3. 对于嵌入式系统的本地调试,您可以通过串口、USB或网口来进行日志传输。
0 y- Y4 z5 g3 u" X; g
& ]5 u6 K* P( R* b便捷远程及云端使用:
* j$ L) h! `7 b0 `6 T4 a; z1. 您可以在路由器中设置端口转发功能,将对应的端口转发到安装了CloudLog的电脑上。+ G4 ^" V% G9 C4 u# x
2. 为了方便获取到电脑所在的IP地址,我们建议使用动态域名系统(DDNS)服务。
6 J4 o# ~) B1 N7 J3. 使用云控域名账号,在服务器上保存日志,您可以随时打开CloudLog回读所有未读过的日志。' g2 V E k( T
7 ~% y7 K6 o& [" E% R) GCloudLog的日志元素介绍:
% h/ q: w: P% E3 V8 @$ M. g( w1. 日志等级(Log Level,简写为LL)用于确认日志的重要性。9 J, h: P+ |- T% C
2. 日期时间Tick(Date Time tick,简写为DT)用于确定日志生成的时刻。
: E4 J. n9 {6 D4 _( X& V5 g3. 应用名(App Name,简写为AN)用于确认日志的来源项目或进程。& K9 K+ D w9 m7 n
4. 标签(Tag,简写为TA)用于按模块化区分日志。1 p( V& x1 F0 z; d" S
5. 线程标识符(Thread Identity,简写为TI)用于区分多线程。
3 \2 W4 V7 c! k0 f" o6. 文字内码(Text Code,简写为TC)用于实时调整当前的内码。
! G4 {1 W' Q$ _' O7. 日志文字(Log Text,简写为LT)可以使用任何内码进行记录。% s( P9 l; p7 |3 }
8. 日志缓冲(Log Buffer,简写为LB)可以传送阵列缓冲。
7 s( \! Y J- T7 u9 l5 w4 W' ^6 m1 V9. 计时功能可以根据前一条日志的tick,计算出精确到1微秒的用时。# C c: V" x3 f N1 Y) B$ X. ?' H
% N1 P7 V+ u3 A( |. s# E: xCloudLog的日志等级说明: i! Z0 j3 g0 [! Y8 b
1. Error级别表示严重的问题或软件执行功能错误,是最高等级的日志,无法屏蔽。
, y. z4 P& R/ w. L' O2. Warn级别表示可能出现潜在错误的情况,当选择Error级别时,Warn级别的日志将不会显示。
( ?( ^$ k/ R/ D6 T3. Info级别强调应用程序运行过程中的一些重要信息。/ ^- j8 D; I, j
4. Debug级别仅在开发期间有用的调试消息,等级较低,在正式发布时一般不会出现。
, o. Y% @" [% E% e9 W! C5. Buffer阵列数值直接显示等级与Debug相同。
; ?" G; F& g) _+ U+ \6. Fixer级别用于固定位置显示日志,这些日志不保存到log文件中。
: Q+ U; N, f4 X6 @7 O E5 e& Z. x- ^
CloudLog的日志过滤器功能:
* Y/ O! n; T5 ]/ D9 U+ t4 h3 e4 u1. 可以根据日志等级及各种组合来过滤日志记录。4 P# c, ^5 H5 J5 D! w
2. 关键词可以高亮显示,以增强可读性,您可以自定义加大、加粗或指定专门的颜色进行高亮突出显示。
F! f6 p, ]8 i3 Y, m: y9 `3. 您可以指定关键词,使含有指定关键词的日志不显示。% I/ j. f% T) j) }8 n
4. 您也可以指定关键词,使含有指定关键词的日志显示。
3 g( ?' Y6 o5 X+ |* }1 i9 U5. 您还可以根据应用名中的关键词进行显示过滤。
0 w8 p- K+ o. Z1 H6. 同样地,您可以根据标签中的关键词进行显示过滤。7 M* V5 A( c+ R+ P
, h0 h! D! g+ |+ r4 T
CloudLog支持的键值对风格文字:# Q7 K! }' s- t; f
1. 使用'&'分隔各个日志元素,每个元素由键值':'数值组成。
1 K u: k) z4 ^! r- c: W2. 日期时间Tick、日志文字及日志缓冲的数值使用Base64编码。0 M* P" ?. o8 Y, y1 D0 H5 @5 \
3. 应用名、标签及线程标识符一般只使用数字或字母。1 p/ w% b8 ^, P3 d+ @
4. 日期时间可以选择是否传送,可以是2字节的毫秒(ms)、3字节的微秒(us)或8字节的全部时间。( ^0 Z& J5 H4 z- D
5. 一个简单的示例:"hello"日志可以表示为:ll:D&/aGVsbG8=! S2 v0 G! q! e7 d
0 X9 n% Y# Y s: ~+ KCloudLog支持的简易风格文字:
# ^3 g! H5 O& |* a) H1. 使用空格分隔各个日志元素,请勿调换元素的顺序。" O( X+ r4 X; f' r
2. 最少包含日志等级(LL)空格及日志文字(LT)。
# R7 g3 r. Z3 n% n4 l3. LL+LT+文字,LT表示4位数的毫秒tick,范围从000到9999,最大可以表示10秒的时间间隔。
) _" F+ s& {, N8 v" G4 \4. LL+LT+TAG+文字,TAG标签用于按模块化区分日志,一般使用字母表示。5 ~/ G1 [- y; F
5. LL+LT+TAG+TI+文字,TI为-9的数字,表示线程标识符。
' F, E5 w/ r! Y( c6. LL+LT+TAG+TI+TC+文字,TC为G=GBK内码或U=UTF-8内码。& V" L( Y! j. ~. W4 ?) N
1 B! O, b7 p7 M, H3 P
使用开源库CloudLog的方法:* G7 R) r- m6 P; m% h
1. 直接从 https://gitee.com/hsav20/CloudLog.git 克隆整个仓库。
- g( ]0 K8 R; r! N7 {5 h4 k2. 将CloudLog.c和CloudLog.h文件添加到您的项目中。$ h5 b' Z0 t/ q/ Y
3. 在对应的平台目录(如PlatformWindows)中找到一个最接近的模板文件FwbConf.h,并将其复制到您的项目中。4 S' }; m5 [. o/ ]& |
4. 根据您的实际使用环境,修改FwbConf.h中的配置信息。
% h. ~* X2 T7 S. X ]& Q5. 参考PlatformWindows目录下的main.c文件,您可以了解如何输出不同类型的日志。 |
|