|
快速本地使用:
3 u( Q9 Z G" |) @5 q1. 在Windows电脑上,我们推荐使用WM_COPYDATA消息进行日志传输,资源占用最少,速度最快。
9 h- R' L( W7 K2. 如果您的应用程序已经具备UDP或TCP功能,可以直接通过原有的Socket将日志发送到本机的127...1。8 d7 {0 h: X8 p# y6 F
3. 对于嵌入式系统的本地调试,您可以通过串口、USB或网口来进行日志传输。% Q/ [- F% S2 u
9 U1 |' F! ]! ~9 v% m便捷远程及云端使用:
" F2 Y) ?5 S& k1 |7 m- x/ \) c/ B2 y1. 您可以在路由器中设置端口转发功能,将对应的端口转发到安装了CloudLog的电脑上。
" L9 q0 a2 p4 I2. 为了方便获取到电脑所在的IP地址,我们建议使用动态域名系统(DDNS)服务。
2 A- Y6 ~: B" \9 D+ h3. 使用云控域名账号,在服务器上保存日志,您可以随时打开CloudLog回读所有未读过的日志。
+ A* Q6 B& t) w+ m
" S- E, a; {2 N! [3 S1 m% s/ MCloudLog的日志元素介绍:/ Q6 E3 M/ x+ x* [( f4 J
1. 日志等级(Log Level,简写为LL)用于确认日志的重要性。4 U1 u8 u) M1 z4 L
2. 日期时间Tick(Date Time tick,简写为DT)用于确定日志生成的时刻。) ^. I8 m" a5 g, h `
3. 应用名(App Name,简写为AN)用于确认日志的来源项目或进程。
1 x2 C" ]" m6 Q0 D# d1 d }1 }# |4. 标签(Tag,简写为TA)用于按模块化区分日志。
4 H7 O9 z2 a' b$ P5. 线程标识符(Thread Identity,简写为TI)用于区分多线程。
$ z3 T1 ?3 p: s7 J; ]6 z9 U6. 文字内码(Text Code,简写为TC)用于实时调整当前的内码。2 @& b5 R( S3 V$ Y/ }
7. 日志文字(Log Text,简写为LT)可以使用任何内码进行记录。
% i' @" l; @* D8. 日志缓冲(Log Buffer,简写为LB)可以传送阵列缓冲。0 G# V$ ^5 o- t6 B- |8 y
9. 计时功能可以根据前一条日志的tick,计算出精确到1微秒的用时。7 R+ p+ O4 D8 r: p/ M. e
% t" Y$ _ O% b& m) S
CloudLog的日志等级说明:
8 ^8 r3 J! K. N) w1 Y1. Error级别表示严重的问题或软件执行功能错误,是最高等级的日志,无法屏蔽。9 M. ]' T3 M! m
2. Warn级别表示可能出现潜在错误的情况,当选择Error级别时,Warn级别的日志将不会显示。8 l% \. C' H- o- J! b" B
3. Info级别强调应用程序运行过程中的一些重要信息。; r! X: s! i, v/ {2 l
4. Debug级别仅在开发期间有用的调试消息,等级较低,在正式发布时一般不会出现。: X1 b8 u4 y8 V$ X6 U
5. Buffer阵列数值直接显示等级与Debug相同。( [( x- u/ {0 G1 {0 V) m
6. Fixer级别用于固定位置显示日志,这些日志不保存到log文件中。
$ e6 v+ v3 p& s1 X! u9 [: e0 V- n8 T8 U5 ]
CloudLog的日志过滤器功能:5 Z% ^; n& U; z/ X4 x) m# r
1. 可以根据日志等级及各种组合来过滤日志记录。
e6 H- X( a; P. g7 Z9 _! {2. 关键词可以高亮显示,以增强可读性,您可以自定义加大、加粗或指定专门的颜色进行高亮突出显示。
* K H- |& Z# ]. o5 H3. 您可以指定关键词,使含有指定关键词的日志不显示。
3 {3 {* S" D5 x! Z% H* w3 q/ G4. 您也可以指定关键词,使含有指定关键词的日志显示。
" I X1 U) Q' ~2 V5. 您还可以根据应用名中的关键词进行显示过滤。* x" A0 z' u1 d9 \
6. 同样地,您可以根据标签中的关键词进行显示过滤。
- b$ ^% ~' @& U' G! O/ \/ T$ R
; Q3 d# F, n7 @; kCloudLog支持的键值对风格文字:) K1 e+ G( T% l$ B: D! x
1. 使用'&'分隔各个日志元素,每个元素由键值':'数值组成。* q h" Z6 Y% K+ r0 e8 \
2. 日期时间Tick、日志文字及日志缓冲的数值使用Base64编码。! |' B5 H, f. V
3. 应用名、标签及线程标识符一般只使用数字或字母。
1 J- X" K6 m0 V! E& M n3 r- j4. 日期时间可以选择是否传送,可以是2字节的毫秒(ms)、3字节的微秒(us)或8字节的全部时间。5 w7 K8 i& j1 W5 {, d
5. 一个简单的示例:"hello"日志可以表示为:ll:D&/aGVsbG8=
4 R5 y: j. A8 e5 Y3 V' B8 }; F4 i& ?/ b m* i
CloudLog支持的简易风格文字:0 s, ~2 `$ k5 c
1. 使用空格分隔各个日志元素,请勿调换元素的顺序。
; }: V+ y6 G7 y7 d% x2. 最少包含日志等级(LL)空格及日志文字(LT)。
( m, E! E' c5 A6 J4 L0 g3. LL+LT+文字,LT表示4位数的毫秒tick,范围从000到9999,最大可以表示10秒的时间间隔。% W! n7 ^) ?. @5 r
4. LL+LT+TAG+文字,TAG标签用于按模块化区分日志,一般使用字母表示。) _0 a( [- z; M
5. LL+LT+TAG+TI+文字,TI为-9的数字,表示线程标识符。( y7 R0 }0 D/ m( l( g# G' a
6. LL+LT+TAG+TI+TC+文字,TC为G=GBK内码或U=UTF-8内码。0 N1 Q. f+ B* V/ }' g8 r4 O3 b& ^
* `+ P. W' G3 o使用开源库CloudLog的方法:# n" a6 n* d: G6 C
1. 直接从 https://gitee.com/hsav20/CloudLog.git 克隆整个仓库。
; P9 X& _ A! S2. 将CloudLog.c和CloudLog.h文件添加到您的项目中。& B. J1 Q; i" b0 ^5 }
3. 在对应的平台目录(如PlatformWindows)中找到一个最接近的模板文件FwbConf.h,并将其复制到您的项目中。( Q7 O" v0 y9 J. ], q, h; g j5 x& d {5 k
4. 根据您的实际使用环境,修改FwbConf.h中的配置信息。
7 d3 e4 u* P; L* h$ f: V8 W9 o. ?0 z5. 参考PlatformWindows目录下的main.c文件,您可以了解如何输出不同类型的日志。 |
|