|
|
赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
快速本地使用:
- n$ D4 j! J7 J6 D1. 在Windows电脑上,我们推荐使用WM_COPYDATA消息进行日志传输,资源占用最少,速度最快。
2 ?4 \. s" x9 ^3 \: |0 D% C2. 如果您的应用程序已经具备UDP或TCP功能,可以直接通过原有的Socket将日志发送到本机的127...1。4 E u3 H9 N9 t1 z4 `+ G) m0 x q
3. 对于嵌入式系统的本地调试,您可以通过串口、USB或网口来进行日志传输。
: w! b0 q) ~! b3 N) ^+ O* }! f9 n8 ]% r1 k, J) w
便捷远程及云端使用:7 [9 p4 d: g: b
1. 您可以在路由器中设置端口转发功能,将对应的端口转发到安装了CloudLog的电脑上。
0 ^' t; o; z! q2. 为了方便获取到电脑所在的IP地址,我们建议使用动态域名系统(DDNS)服务。
) d, l5 I: {# W% s7 }# P9 ~9 y/ W3. 使用云控域名账号,在服务器上保存日志,您可以随时打开CloudLog回读所有未读过的日志。3 Z0 ~; K9 D5 Q5 i
2 `0 Q# W4 [' p9 D0 @
CloudLog的日志元素介绍:7 G8 B! @* V5 n8 T) I# Y0 e
1. 日志等级(Log Level,简写为LL)用于确认日志的重要性。: u& U; d* c/ p+ j! T. |- |
2. 日期时间Tick(Date Time tick,简写为DT)用于确定日志生成的时刻。
" I1 Z* Y) X4 ]" a. {3. 应用名(App Name,简写为AN)用于确认日志的来源项目或进程。8 P2 h. }: I2 g/ M
4. 标签(Tag,简写为TA)用于按模块化区分日志。
3 H6 z0 X/ ?9 U' l8 l5. 线程标识符(Thread Identity,简写为TI)用于区分多线程。& a: w5 x2 [; A& d- \
6. 文字内码(Text Code,简写为TC)用于实时调整当前的内码。+ |1 B; E1 }* h# T
7. 日志文字(Log Text,简写为LT)可以使用任何内码进行记录。
) Q3 q3 r' J2 W* E7 Q8. 日志缓冲(Log Buffer,简写为LB)可以传送阵列缓冲。
! `+ H. D# X9 P4 \. ]9. 计时功能可以根据前一条日志的tick,计算出精确到1微秒的用时。
6 M+ G, Q% o+ {4 t
1 z% H, I! I4 O6 gCloudLog的日志等级说明:. a; X& x. I# K' p
1. Error级别表示严重的问题或软件执行功能错误,是最高等级的日志,无法屏蔽。
$ t3 h/ |' p; o! s( W7 Q9 p2. Warn级别表示可能出现潜在错误的情况,当选择Error级别时,Warn级别的日志将不会显示。
% V, j$ W9 |3 G8 C, o3. Info级别强调应用程序运行过程中的一些重要信息。3 P. ]; e/ S9 M, i) i
4. Debug级别仅在开发期间有用的调试消息,等级较低,在正式发布时一般不会出现。
+ p* @# [3 Z; Y' q' u; ?5. Buffer阵列数值直接显示等级与Debug相同。* S( I9 F7 |% V* y# h1 m( o$ X! p/ {
6. Fixer级别用于固定位置显示日志,这些日志不保存到log文件中。
* C# a/ ]7 ^% q$ K7 @
. u) p1 W2 s% s- e" FCloudLog的日志过滤器功能:
4 {. P+ S+ x2 n4 {6 s* h. X1. 可以根据日志等级及各种组合来过滤日志记录。1 Q6 \7 r% I" H
2. 关键词可以高亮显示,以增强可读性,您可以自定义加大、加粗或指定专门的颜色进行高亮突出显示。, V, T- u7 e& O8 Q) m
3. 您可以指定关键词,使含有指定关键词的日志不显示。
7 d* g% O$ {' W& w6 C4. 您也可以指定关键词,使含有指定关键词的日志显示。. c( z1 [0 U6 q
5. 您还可以根据应用名中的关键词进行显示过滤。1 Y2 K0 L0 Z" L
6. 同样地,您可以根据标签中的关键词进行显示过滤。# Z! J7 S- W; Z, N; T8 v: I
) q- @5 _; F- cCloudLog支持的键值对风格文字:3 ~7 `! n5 b+ l% d& k- l) h0 [
1. 使用'&'分隔各个日志元素,每个元素由键值':'数值组成。
4 x1 f& s9 @! q, ?3 [6 ~+ S2. 日期时间Tick、日志文字及日志缓冲的数值使用Base64编码。; I ~: z6 _6 b b
3. 应用名、标签及线程标识符一般只使用数字或字母。+ O+ f" H* `+ W* z* g# w
4. 日期时间可以选择是否传送,可以是2字节的毫秒(ms)、3字节的微秒(us)或8字节的全部时间。
' F" i# D' n& s& Y' m9 Q5. 一个简单的示例:"hello"日志可以表示为:ll:D&/aGVsbG8=9 H) ]; }% V, I# \' }
5 ^; I" j% j+ k' ] JCloudLog支持的简易风格文字:+ t+ _; n8 w/ |# b
1. 使用空格分隔各个日志元素,请勿调换元素的顺序。' W, Q) f# R `( P7 z8 H) E
2. 最少包含日志等级(LL)空格及日志文字(LT)。
5 S+ a; u2 [9 w" y( `7 G! v3. LL+LT+文字,LT表示4位数的毫秒tick,范围从000到9999,最大可以表示10秒的时间间隔。
. f w2 V2 e6 U' I) u. W8 J8 H4. LL+LT+TAG+文字,TAG标签用于按模块化区分日志,一般使用字母表示。2 ~& X) n- a) R2 f& P. W1 I
5. LL+LT+TAG+TI+文字,TI为-9的数字,表示线程标识符。) G! @* Z% F8 z8 G
6. LL+LT+TAG+TI+TC+文字,TC为G=GBK内码或U=UTF-8内码。
* P; v. M% J4 ` H6 K, t* T1 L4 d, I0 r4 T+ n. Q. ]
使用开源库CloudLog的方法:3 F# h. |+ k0 n- {% G( |6 k+ _
1. 直接从 https://gitee.com/hsav20/CloudLog.git 克隆整个仓库。
; T/ a0 W+ m9 K2. 将CloudLog.c和CloudLog.h文件添加到您的项目中。
3 T( M+ j# y- T$ C3. 在对应的平台目录(如PlatformWindows)中找到一个最接近的模板文件FwbConf.h,并将其复制到您的项目中。9 y2 T1 a: v' x5 ?$ N
4. 根据您的实际使用环境,修改FwbConf.h中的配置信息。; E l4 }4 w! `4 }% E
5. 参考PlatformWindows目录下的main.c文件,您可以了解如何输出不同类型的日志。 |
|