|
|
赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
快速本地使用:& q" C1 b4 r' X' M1 L( ]. ~
1. 在Windows电脑上,我们推荐使用WM_COPYDATA消息进行日志传输,资源占用最少,速度最快。
. o& N: }7 v5 `- A) W y2. 如果您的应用程序已经具备UDP或TCP功能,可以直接通过原有的Socket将日志发送到本机的127...1。! T8 I0 f& m7 C( S" S4 W
3. 对于嵌入式系统的本地调试,您可以通过串口、USB或网口来进行日志传输。
^1 W0 J5 f5 l" Q' R$ e' i8 p; m' [
便捷远程及云端使用:
4 S4 O/ W# _! U `1 T6 Q4 \2 r1. 您可以在路由器中设置端口转发功能,将对应的端口转发到安装了CloudLog的电脑上。 N1 i3 n# h5 U1 l
2. 为了方便获取到电脑所在的IP地址,我们建议使用动态域名系统(DDNS)服务。
4 z1 ]0 o V# ?4 J' b+ j- [" W3. 使用云控域名账号,在服务器上保存日志,您可以随时打开CloudLog回读所有未读过的日志。
: _. l$ ~$ O- b' d- w9 a( r; x1 T+ L) R; ?/ w3 S h8 ^$ y7 v7 \
CloudLog的日志元素介绍:
9 }& Y4 u+ c/ m3 k" g1. 日志等级(Log Level,简写为LL)用于确认日志的重要性。% x/ E/ F, ]: F- V4 x, ?
2. 日期时间Tick(Date Time tick,简写为DT)用于确定日志生成的时刻。8 k4 G! ~9 z' D2 W
3. 应用名(App Name,简写为AN)用于确认日志的来源项目或进程。2 K7 \4 ]- T' o: @4 C" D" N" h4 K3 F
4. 标签(Tag,简写为TA)用于按模块化区分日志。
$ t( k5 e' {3 v) L* ^* Z& \5. 线程标识符(Thread Identity,简写为TI)用于区分多线程。
9 N# \ ]! @% ], A# ~$ O5 H& `6. 文字内码(Text Code,简写为TC)用于实时调整当前的内码。, c/ ^1 h5 S0 J/ K
7. 日志文字(Log Text,简写为LT)可以使用任何内码进行记录。
% V) I& b8 w) a4 c+ e! |: R1 f8. 日志缓冲(Log Buffer,简写为LB)可以传送阵列缓冲。
& M4 F6 l1 F& I/ ]; G E! D" v2 O9. 计时功能可以根据前一条日志的tick,计算出精确到1微秒的用时。3 F4 X2 F( w# @! s/ N+ j) @- J' w
) z4 y5 Z% H3 V2 N+ T8 L
CloudLog的日志等级说明:# \& @ j6 T; w- G1 q
1. Error级别表示严重的问题或软件执行功能错误,是最高等级的日志,无法屏蔽。
) O& {: k8 W3 [6 ^. T2. Warn级别表示可能出现潜在错误的情况,当选择Error级别时,Warn级别的日志将不会显示。
6 h: i! t, Y9 R1 ^7 u/ J3. Info级别强调应用程序运行过程中的一些重要信息。
4 X! ~. g. U; l$ n: n4. Debug级别仅在开发期间有用的调试消息,等级较低,在正式发布时一般不会出现。7 Q/ b- R& q( K: P0 B+ c$ B/ X
5. Buffer阵列数值直接显示等级与Debug相同。3 h/ p; V% B& k5 Y+ X. n
6. Fixer级别用于固定位置显示日志,这些日志不保存到log文件中。
9 y6 `3 w7 u# H' {6 d, z$ z- f( A
CloudLog的日志过滤器功能:
) b5 u& A0 ?$ M% ~1 w0 Y& I1. 可以根据日志等级及各种组合来过滤日志记录。. a' y! C# a3 n
2. 关键词可以高亮显示,以增强可读性,您可以自定义加大、加粗或指定专门的颜色进行高亮突出显示。
7 P6 ` P; \ {/ R2 g+ Y0 H9 g3. 您可以指定关键词,使含有指定关键词的日志不显示。; T ~+ o8 f4 s6 O
4. 您也可以指定关键词,使含有指定关键词的日志显示。5 N( I Q4 Y E( Z8 \, l, X& `
5. 您还可以根据应用名中的关键词进行显示过滤。; ^9 {, R0 \" z8 x7 ^
6. 同样地,您可以根据标签中的关键词进行显示过滤。- n! o" }" k) |2 X9 H& F
3 g* d2 q. k* w2 O6 w! B
CloudLog支持的键值对风格文字:9 g- r) V' C5 R
1. 使用'&'分隔各个日志元素,每个元素由键值':'数值组成。1 i8 w/ j9 S2 ~1 Q0 }) c) j
2. 日期时间Tick、日志文字及日志缓冲的数值使用Base64编码。. Q' B& x, W' V# c1 G( M" P
3. 应用名、标签及线程标识符一般只使用数字或字母。1 y- N! c& c, b$ T( @$ Y1 g0 P
4. 日期时间可以选择是否传送,可以是2字节的毫秒(ms)、3字节的微秒(us)或8字节的全部时间。
% u- x! r+ ?9 t/ N3 r3 H9 F. o5. 一个简单的示例:"hello"日志可以表示为:ll:D&/aGVsbG8=- T3 ]( k N0 K" F. @7 @
! u/ r, Q. ~8 i; R6 ?( r! ACloudLog支持的简易风格文字:1 D/ z. V7 `2 y& M+ [
1. 使用空格分隔各个日志元素,请勿调换元素的顺序。6 R. V2 N8 c8 K$ n2 |
2. 最少包含日志等级(LL)空格及日志文字(LT)。
; Q$ U h' s& e3 b* y0 I6 u# O3. LL+LT+文字,LT表示4位数的毫秒tick,范围从000到9999,最大可以表示10秒的时间间隔。8 P6 ?& O* w$ o8 e3 I, ]
4. LL+LT+TAG+文字,TAG标签用于按模块化区分日志,一般使用字母表示。
. _' _% n |3 C! d( b8 z( D5. LL+LT+TAG+TI+文字,TI为-9的数字,表示线程标识符。
6 C9 x$ \0 i! W& O+ E {6. LL+LT+TAG+TI+TC+文字,TC为G=GBK内码或U=UTF-8内码。8 n1 z2 Z7 p- ` C m
. [+ s" c3 }7 f: Y A0 F# m
使用开源库CloudLog的方法:: J+ |" d! J/ W4 G% O! p* u
1. 直接从 https://gitee.com/hsav20/CloudLog.git 克隆整个仓库。
- O* j" ]% {" ~8 t2. 将CloudLog.c和CloudLog.h文件添加到您的项目中。
2 h6 K5 [. E' W" t8 }3. 在对应的平台目录(如PlatformWindows)中找到一个最接近的模板文件FwbConf.h,并将其复制到您的项目中。) i. t i# M. i: }9 @6 a
4. 根据您的实际使用环境,修改FwbConf.h中的配置信息。
9 @; B8 Q8 s5 P0 C C3 G$ q5 N5. 参考PlatformWindows目录下的main.c文件,您可以了解如何输出不同类型的日志。 |
|