|
赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
快速本地使用:- L/ F1 m* \" P; }5 y2 ~6 y+ l, y
1. 在Windows电脑上,我们推荐使用WM_COPYDATA消息进行日志传输,资源占用最少,速度最快。
! ~# n# `/ j6 @2. 如果您的应用程序已经具备UDP或TCP功能,可以直接通过原有的Socket将日志发送到本机的127...1。# |# K) {4 v8 T& T6 w
3. 对于嵌入式系统的本地调试,您可以通过串口、USB或网口来进行日志传输。
- q/ T3 b( z6 k+ {! k8 u4 N7 U' x- r P- p( Y. T: o: n1 l
便捷远程及云端使用:
. Q5 g/ n8 G% G8 `3 G7 ?3 o1. 您可以在路由器中设置端口转发功能,将对应的端口转发到安装了CloudLog的电脑上。
" @( [% V. }: E' C2. 为了方便获取到电脑所在的IP地址,我们建议使用动态域名系统(DDNS)服务。$ W/ `! I5 w: f$ m5 g
3. 使用云控域名账号,在服务器上保存日志,您可以随时打开CloudLog回读所有未读过的日志。: b- _! q* L9 b4 p) x9 b7 `
+ [; L3 { ^2 @5 R! z
CloudLog的日志元素介绍:
! e3 B/ ~9 l- r2 _7 e% }1. 日志等级(Log Level,简写为LL)用于确认日志的重要性。) t, g# f! F/ E3 z$ ~) m* R) I$ o& @
2. 日期时间Tick(Date Time tick,简写为DT)用于确定日志生成的时刻。
" z1 Z( e5 J1 o3. 应用名(App Name,简写为AN)用于确认日志的来源项目或进程。- a- D. u0 Y( \2 [9 L
4. 标签(Tag,简写为TA)用于按模块化区分日志。% M" y& t: T7 O/ g- M
5. 线程标识符(Thread Identity,简写为TI)用于区分多线程。+ S$ W& P8 K5 z- N) l1 n
6. 文字内码(Text Code,简写为TC)用于实时调整当前的内码。
- w8 e" \# `0 y C2 B7. 日志文字(Log Text,简写为LT)可以使用任何内码进行记录。
' `0 s: j5 A0 b* e+ V- D6 r. x8. 日志缓冲(Log Buffer,简写为LB)可以传送阵列缓冲。& B5 o2 s$ r, V* {2 Q+ {0 O( Y
9. 计时功能可以根据前一条日志的tick,计算出精确到1微秒的用时。2 P. i1 l/ h; j
* t* R+ ^& w- o' \, p, I9 w
CloudLog的日志等级说明:3 ^+ M4 N2 C3 @& k6 X
1. Error级别表示严重的问题或软件执行功能错误,是最高等级的日志,无法屏蔽。* t% r7 j) N6 W5 A0 [8 `
2. Warn级别表示可能出现潜在错误的情况,当选择Error级别时,Warn级别的日志将不会显示。
( t& g* b/ I8 G# [, l4 g3. Info级别强调应用程序运行过程中的一些重要信息。- [! g {" B+ a: T* U: O: Q
4. Debug级别仅在开发期间有用的调试消息,等级较低,在正式发布时一般不会出现。
: h: p% p \+ X& W, b8 v/ s' P7 N5. Buffer阵列数值直接显示等级与Debug相同。
, [* l; }: j' q- [6 Z9 b) K+ ^" i2 n6. Fixer级别用于固定位置显示日志,这些日志不保存到log文件中。
3 L+ Z0 J# L, p" [* `+ Z& }3 [1 ?- m) j* `- ^
CloudLog的日志过滤器功能:/ C/ P: S: N$ T1 [
1. 可以根据日志等级及各种组合来过滤日志记录。
$ ?' z, A Q) K3 G- N- j/ h6 _, }; ] M2. 关键词可以高亮显示,以增强可读性,您可以自定义加大、加粗或指定专门的颜色进行高亮突出显示。
; S0 ?$ x) E$ J* f' y" Z3. 您可以指定关键词,使含有指定关键词的日志不显示。
9 f% ^: w( A( q( {. Y: f4. 您也可以指定关键词,使含有指定关键词的日志显示。- o) B8 L# {* Q
5. 您还可以根据应用名中的关键词进行显示过滤。
, M5 u5 z; U. N+ \- P. `8 p9 f' N6. 同样地,您可以根据标签中的关键词进行显示过滤。
0 g5 J% c% j6 y' p% T- }% A1 h/ K9 K/ ^' l% Q9 h6 g
CloudLog支持的键值对风格文字:( P8 J2 n6 @: P
1. 使用'&'分隔各个日志元素,每个元素由键值':'数值组成。: |/ W* H1 q- N+ }: | I+ |0 R
2. 日期时间Tick、日志文字及日志缓冲的数值使用Base64编码。7 R) W4 k/ x! ^: _
3. 应用名、标签及线程标识符一般只使用数字或字母。
. ?& f( p6 W: G8 }5 T: \5 g4 e4. 日期时间可以选择是否传送,可以是2字节的毫秒(ms)、3字节的微秒(us)或8字节的全部时间。
! } }. ]' S; U( ~* r1 L. G5. 一个简单的示例:"hello"日志可以表示为:ll:D&/aGVsbG8=
% u* _3 G6 ^$ ~) A( O; v" i* W( j& } L0 R8 P
CloudLog支持的简易风格文字:% V5 m" D+ P1 l4 A# ?# V" ?
1. 使用空格分隔各个日志元素,请勿调换元素的顺序。& l9 \2 g% i% ?9 e5 d3 k
2. 最少包含日志等级(LL)空格及日志文字(LT)。: L, S/ p+ ]! h, i
3. LL+LT+文字,LT表示4位数的毫秒tick,范围从000到9999,最大可以表示10秒的时间间隔。( n# t+ @2 ^" ]3 _2 M8 G
4. LL+LT+TAG+文字,TAG标签用于按模块化区分日志,一般使用字母表示。2 j& `& r( X) E* d9 R/ f5 B6 p
5. LL+LT+TAG+TI+文字,TI为-9的数字,表示线程标识符。/ `, y& c: Y- ~' Z, y5 A
6. LL+LT+TAG+TI+TC+文字,TC为G=GBK内码或U=UTF-8内码。
9 ?" H9 L) ~" t6 V/ H8 G
( A8 ?- [# _, w1 g" D使用开源库CloudLog的方法:; M# V. Q" B# `2 x! m6 S' w( i
1. 直接从 https://gitee.com/hsav20/CloudLog.git 克隆整个仓库。8 a7 T% J3 \2 m& d. v; W, [
2. 将CloudLog.c和CloudLog.h文件添加到您的项目中。* D* @1 U8 z7 _. \8 s- Y
3. 在对应的平台目录(如PlatformWindows)中找到一个最接近的模板文件FwbConf.h,并将其复制到您的项目中。5 e3 e9 H' C* X/ o# y
4. 根据您的实际使用环境,修改FwbConf.h中的配置信息。
" C$ A( L y/ z8 R5 A5. 参考PlatformWindows目录下的main.c文件,您可以了解如何输出不同类型的日志。 |
|