|
|
快速本地使用:
- c: u3 d4 Z3 ~7 B1. 在Windows电脑上,我们推荐使用WM_COPYDATA消息进行日志传输,资源占用最少,速度最快。+ K: G9 v X0 Y
2. 如果您的应用程序已经具备UDP或TCP功能,可以直接通过原有的Socket将日志发送到本机的127...1。
% J5 { l7 ?7 p4 \* l3. 对于嵌入式系统的本地调试,您可以通过串口、USB或网口来进行日志传输。* m' q' w* M$ C4 X
) U9 D1 V3 l1 b' Y, f# R
便捷远程及云端使用:( c) b9 \& N& c4 \* W, e9 F
1. 您可以在路由器中设置端口转发功能,将对应的端口转发到安装了CloudLog的电脑上。
2 z2 X( E& S. d3 L3 h% d( J& y) H0 J2. 为了方便获取到电脑所在的IP地址,我们建议使用动态域名系统(DDNS)服务。
2 [& m; A. l) @3. 使用云控域名账号,在服务器上保存日志,您可以随时打开CloudLog回读所有未读过的日志。+ @( _; U5 I9 p) F
) V' y6 v4 W# w+ v2 ^CloudLog的日志元素介绍:
# F0 i) `8 r. Q- K7 y* A4 m1. 日志等级(Log Level,简写为LL)用于确认日志的重要性。3 W/ U, b8 p' D3 w( R5 ?
2. 日期时间Tick(Date Time tick,简写为DT)用于确定日志生成的时刻。
! M, I; S: i9 [4 Y3. 应用名(App Name,简写为AN)用于确认日志的来源项目或进程。- e9 @3 Z3 J' t% d( y. U# C
4. 标签(Tag,简写为TA)用于按模块化区分日志。
' G( I9 G% J/ C5. 线程标识符(Thread Identity,简写为TI)用于区分多线程。' M5 p7 g' l3 \
6. 文字内码(Text Code,简写为TC)用于实时调整当前的内码。7 R: t& m* u7 T3 W; k4 p8 l- i
7. 日志文字(Log Text,简写为LT)可以使用任何内码进行记录。' c7 H0 W, g) I3 M9 Q) ~ ?
8. 日志缓冲(Log Buffer,简写为LB)可以传送阵列缓冲。
5 k8 ^: o$ c* n' z$ W& Z# G9. 计时功能可以根据前一条日志的tick,计算出精确到1微秒的用时。& n& T: R" n5 y( w+ C# }& g: H. i
) @/ f N: T3 F- b. k1 y8 p
CloudLog的日志等级说明:
4 T" Y$ ~9 {2 p: ~6 D4 J1. Error级别表示严重的问题或软件执行功能错误,是最高等级的日志,无法屏蔽。
, A8 I3 E6 [3 v. ^! b) L: b2. Warn级别表示可能出现潜在错误的情况,当选择Error级别时,Warn级别的日志将不会显示。# b5 h: C A+ S
3. Info级别强调应用程序运行过程中的一些重要信息。
! t5 ?3 y1 p6 [4. Debug级别仅在开发期间有用的调试消息,等级较低,在正式发布时一般不会出现。
6 u# h* @ k1 m+ U3 _: \# \5. Buffer阵列数值直接显示等级与Debug相同。7 D5 m6 N) r" l3 V
6. Fixer级别用于固定位置显示日志,这些日志不保存到log文件中。( d6 ^, j4 c' A! g, |0 s
, g1 \1 d8 O' D2 t
CloudLog的日志过滤器功能:% }! A Y: @& \0 A" R s1 Y
1. 可以根据日志等级及各种组合来过滤日志记录。
* U" j; ^$ P3 X1 }4 a- t2. 关键词可以高亮显示,以增强可读性,您可以自定义加大、加粗或指定专门的颜色进行高亮突出显示。
7 {( J J6 i- {7 b3. 您可以指定关键词,使含有指定关键词的日志不显示。
: l% c8 T" Z& s$ F9 S/ _" N3 i+ }4. 您也可以指定关键词,使含有指定关键词的日志显示。
' e+ S! p: j4 ^* \5. 您还可以根据应用名中的关键词进行显示过滤。
4 [# [1 {' l0 I6. 同样地,您可以根据标签中的关键词进行显示过滤。
4 H* B: H% M3 q+ I( C: h; N( d8 j0 F, ]3 X R% }# d+ t" `
CloudLog支持的键值对风格文字:
% `4 a6 J/ R0 Q8 T0 K1. 使用'&'分隔各个日志元素,每个元素由键值':'数值组成。
5 j5 p' I0 o/ Z% G2. 日期时间Tick、日志文字及日志缓冲的数值使用Base64编码。! c! {, L8 Y6 d$ R% N
3. 应用名、标签及线程标识符一般只使用数字或字母。3 o+ a4 `' f) C8 P5 T% r# s
4. 日期时间可以选择是否传送,可以是2字节的毫秒(ms)、3字节的微秒(us)或8字节的全部时间。
8 y) O, u5 i' M% w! f8 j5. 一个简单的示例:"hello"日志可以表示为:ll:D&/aGVsbG8=
1 h s6 F. j) z
* G) j: O* M# K! [( UCloudLog支持的简易风格文字:' K$ } d, D3 H" S+ ~
1. 使用空格分隔各个日志元素,请勿调换元素的顺序。/ k! ?' e* u/ }. I' S2 ~% i9 X
2. 最少包含日志等级(LL)空格及日志文字(LT)。1 |; s, l2 ^" C* N; ?
3. LL+LT+文字,LT表示4位数的毫秒tick,范围从000到9999,最大可以表示10秒的时间间隔。
n. R+ b7 k: t: y8 X; I4. LL+LT+TAG+文字,TAG标签用于按模块化区分日志,一般使用字母表示。
2 v! I6 I8 g) M" |. I- T5. LL+LT+TAG+TI+文字,TI为-9的数字,表示线程标识符。
; J/ h7 W- R# k {. _2 j6. LL+LT+TAG+TI+TC+文字,TC为G=GBK内码或U=UTF-8内码。
4 [7 ]- G2 S. c' w: s" Y
6 C# C! W0 k& c T! y8 J& k* p4 k使用开源库CloudLog的方法:
/ S$ w# [! Z8 c2 A! u1. 直接从 https://gitee.com/hsav20/CloudLog.git 克隆整个仓库。
% V& Y. Q9 g" N5 O- ~1 k- H* S2. 将CloudLog.c和CloudLog.h文件添加到您的项目中。7 V- G6 G8 s, q
3. 在对应的平台目录(如PlatformWindows)中找到一个最接近的模板文件FwbConf.h,并将其复制到您的项目中。
G7 g7 ~+ u& L' C3 _4. 根据您的实际使用环境,修改FwbConf.h中的配置信息。4 x& q# D$ e4 B) g" b9 B3 T
5. 参考PlatformWindows目录下的main.c文件,您可以了解如何输出不同类型的日志。 |
|