|
|
赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
快速本地使用:
! i! U0 A/ T. a* j1. 在Windows电脑上,我们推荐使用WM_COPYDATA消息进行日志传输,资源占用最少,速度最快。
' F7 Q+ Z* q5 L1 ?9 n2. 如果您的应用程序已经具备UDP或TCP功能,可以直接通过原有的Socket将日志发送到本机的127...1。
. X* k) w! W2 D3. 对于嵌入式系统的本地调试,您可以通过串口、USB或网口来进行日志传输。7 v$ r3 W6 o- l0 W. r) l/ s2 V
: L' f7 s* M5 ]2 W! L- |
便捷远程及云端使用:
6 B) C1 T( a9 q7 b1. 您可以在路由器中设置端口转发功能,将对应的端口转发到安装了CloudLog的电脑上。
9 [0 R6 d0 A% ~8 V2. 为了方便获取到电脑所在的IP地址,我们建议使用动态域名系统(DDNS)服务。8 ^( M0 N. `. P q5 X3 V j% e \
3. 使用云控域名账号,在服务器上保存日志,您可以随时打开CloudLog回读所有未读过的日志。( u1 m. ]9 x6 V# a
9 D- ]2 X- B: Q5 Q A, nCloudLog的日志元素介绍:1 J% M0 S) g4 V T; v3 d( u4 J
1. 日志等级(Log Level,简写为LL)用于确认日志的重要性。
, ]( ?; j& |. P6 h4 }0 ?7 M2. 日期时间Tick(Date Time tick,简写为DT)用于确定日志生成的时刻。
5 w) g$ w( @. Q3. 应用名(App Name,简写为AN)用于确认日志的来源项目或进程。+ K! |! ]) ^6 _* l! i
4. 标签(Tag,简写为TA)用于按模块化区分日志。
1 @! s" D! j" N7 ~8 l7 B7 H% D) X+ H9 F5. 线程标识符(Thread Identity,简写为TI)用于区分多线程。& O: z7 q) u5 ]5 M& P% D( `4 e
6. 文字内码(Text Code,简写为TC)用于实时调整当前的内码。
; ` N6 }9 x: D1 G7. 日志文字(Log Text,简写为LT)可以使用任何内码进行记录。
4 h1 V% J3 c3 Z& k+ I$ w" `* G3 }% R, _8. 日志缓冲(Log Buffer,简写为LB)可以传送阵列缓冲。
% e$ n) \( s$ V/ l1 a! u9. 计时功能可以根据前一条日志的tick,计算出精确到1微秒的用时。
& p2 N0 G/ i) O0 g+ t4 Q: E; F) u; N1 X9 m. E0 j
CloudLog的日志等级说明:, M6 G# g5 U0 R8 N% d
1. Error级别表示严重的问题或软件执行功能错误,是最高等级的日志,无法屏蔽。 n/ `; Z# {3 L1 E
2. Warn级别表示可能出现潜在错误的情况,当选择Error级别时,Warn级别的日志将不会显示。
! E. B- G3 b6 `3 X3. Info级别强调应用程序运行过程中的一些重要信息。
' w* p! p6 q' o/ s' J$ V& E/ r4. Debug级别仅在开发期间有用的调试消息,等级较低,在正式发布时一般不会出现。
6 J; \1 J X& x. I" S h8 E/ I& Z- L D5. Buffer阵列数值直接显示等级与Debug相同。
1 u, f6 g3 q# _& Y" r/ |6. Fixer级别用于固定位置显示日志,这些日志不保存到log文件中。& `2 t$ h* _% K$ z: F; T0 O8 H% T
. b' ~8 J" k n% a. A5 V' i- J$ y) @
CloudLog的日志过滤器功能:& q& @( S( X8 Z' ^. B
1. 可以根据日志等级及各种组合来过滤日志记录。2 E! _6 Q+ f) x& T5 r+ \
2. 关键词可以高亮显示,以增强可读性,您可以自定义加大、加粗或指定专门的颜色进行高亮突出显示。
) m6 E9 ?! [* G5 M5 a( f' f% y3. 您可以指定关键词,使含有指定关键词的日志不显示。1 x k7 m6 n$ X; j% d8 i. w4 y+ ^
4. 您也可以指定关键词,使含有指定关键词的日志显示。7 K+ V7 \" \7 k! F, Z
5. 您还可以根据应用名中的关键词进行显示过滤。
2 ~5 |. h9 s4 |6. 同样地,您可以根据标签中的关键词进行显示过滤。: U- p: p* K& S0 q" ~. o2 a
2 }. ~% q; }( f \1 R( q
CloudLog支持的键值对风格文字:
, y5 U* V% {; o1. 使用'&'分隔各个日志元素,每个元素由键值':'数值组成。9 ]4 E. \2 a! t3 m. p
2. 日期时间Tick、日志文字及日志缓冲的数值使用Base64编码。0 m0 j% u: j, G8 f: _
3. 应用名、标签及线程标识符一般只使用数字或字母。3 \/ T; ^+ S9 s" c/ u" Q& I0 N
4. 日期时间可以选择是否传送,可以是2字节的毫秒(ms)、3字节的微秒(us)或8字节的全部时间。) t' \3 E, D0 w" R
5. 一个简单的示例:"hello"日志可以表示为:ll:D&/aGVsbG8=
" d0 z* e. z/ }% u \- ` T2 _7 X
# A U3 Y6 S' v. ]CloudLog支持的简易风格文字:) }2 `: }# G4 G, x3 I
1. 使用空格分隔各个日志元素,请勿调换元素的顺序。6 V4 S1 ]& b q2 Y
2. 最少包含日志等级(LL)空格及日志文字(LT)。! e2 x0 j. y- S; O
3. LL+LT+文字,LT表示4位数的毫秒tick,范围从000到9999,最大可以表示10秒的时间间隔。
- E1 p) o* `9 i; y* D l( a4. LL+LT+TAG+文字,TAG标签用于按模块化区分日志,一般使用字母表示。8 e, g9 Z+ }$ H( Q, m
5. LL+LT+TAG+TI+文字,TI为-9的数字,表示线程标识符。' V+ Q5 H6 g! A8 H
6. LL+LT+TAG+TI+TC+文字,TC为G=GBK内码或U=UTF-8内码。% H, c6 g' G7 u, C9 |0 o1 T
8 I+ }: j6 e0 k9 b使用开源库CloudLog的方法:
' R# v7 f/ n7 s% R1. 直接从 https://gitee.com/hsav20/CloudLog.git 克隆整个仓库。
" m8 l" [$ d7 E0 j8 Z3 N/ T" Y2. 将CloudLog.c和CloudLog.h文件添加到您的项目中。
0 k/ z; ]' `2 Y7 \$ Y1 P: N6 f' ?: U3. 在对应的平台目录(如PlatformWindows)中找到一个最接近的模板文件FwbConf.h,并将其复制到您的项目中。
1 X+ z4 q) Y" L& L+ c. K% c; M4. 根据您的实际使用环境,修改FwbConf.h中的配置信息。3 S2 H. [0 L. c7 L
5. 参考PlatformWindows目录下的main.c文件,您可以了解如何输出不同类型的日志。 |
|