|
|
快速本地使用:, f0 G* N2 c- X" m& N
1. 在Windows电脑上,我们推荐使用WM_COPYDATA消息进行日志传输,资源占用最少,速度最快。* Z! v2 g# ?) x& P1 \9 D3 d
2. 如果您的应用程序已经具备UDP或TCP功能,可以直接通过原有的Socket将日志发送到本机的127...1。 K6 E9 d+ S2 D0 T- O7 g
3. 对于嵌入式系统的本地调试,您可以通过串口、USB或网口来进行日志传输。
' I7 v* n" y% t- ?' [5 U0 D$ A! d4 J. ^# z) }
便捷远程及云端使用:6 J' s6 A/ e$ e1 ], O8 G
1. 您可以在路由器中设置端口转发功能,将对应的端口转发到安装了CloudLog的电脑上。
f+ K) L+ T! H+ T/ t2. 为了方便获取到电脑所在的IP地址,我们建议使用动态域名系统(DDNS)服务。
% T6 v, \% Q- k, c k/ e3. 使用云控域名账号,在服务器上保存日志,您可以随时打开CloudLog回读所有未读过的日志。' `$ e7 M& A/ ?
) h+ U/ t% E/ f
CloudLog的日志元素介绍:0 G: n# I7 q2 N6 A0 H1 c' b
1. 日志等级(Log Level,简写为LL)用于确认日志的重要性。5 F0 k) _' @+ F) I7 Y' z# W9 _6 K
2. 日期时间Tick(Date Time tick,简写为DT)用于确定日志生成的时刻。
7 ~3 O. {# |: z9 U( P. ~3. 应用名(App Name,简写为AN)用于确认日志的来源项目或进程。
/ x9 \! j& m; o, \! S4 W& `- x4. 标签(Tag,简写为TA)用于按模块化区分日志。
+ N6 d. G; V! N; D S j/ g+ t5. 线程标识符(Thread Identity,简写为TI)用于区分多线程。
2 J/ g5 \1 B/ d' O! V6. 文字内码(Text Code,简写为TC)用于实时调整当前的内码。6 q7 \- Z1 m* j" J3 O8 T6 ]. v
7. 日志文字(Log Text,简写为LT)可以使用任何内码进行记录。
+ v$ o( c' \- i3 Y8. 日志缓冲(Log Buffer,简写为LB)可以传送阵列缓冲。4 ]; u$ i7 W6 Q% { K/ q9 g+ r, C& I" H
9. 计时功能可以根据前一条日志的tick,计算出精确到1微秒的用时。) E. v; s8 t$ x: l' N0 n
9 k j7 S" n) E2 _9 d( R& f
CloudLog的日志等级说明:
0 v8 r7 U' h8 q+ B2 ^) \5 C* L7 f6 D1. Error级别表示严重的问题或软件执行功能错误,是最高等级的日志,无法屏蔽。2 _/ w6 q! s( o$ Q; r1 a' n! e
2. Warn级别表示可能出现潜在错误的情况,当选择Error级别时,Warn级别的日志将不会显示。
+ z C, a+ d$ Z+ W3 C3. Info级别强调应用程序运行过程中的一些重要信息。5 M9 |0 t$ u! a& N
4. Debug级别仅在开发期间有用的调试消息,等级较低,在正式发布时一般不会出现。
* G$ S' L8 p+ J, E& Z5. Buffer阵列数值直接显示等级与Debug相同。 M5 Q7 q+ A5 b
6. Fixer级别用于固定位置显示日志,这些日志不保存到log文件中。
- }& D0 _: T7 S1 V* V+ M6 G( r1 o
; Q, Z- `2 H4 F3 B! xCloudLog的日志过滤器功能:3 s" q! ?* t8 W! t
1. 可以根据日志等级及各种组合来过滤日志记录。6 j4 ?* f! m p' [7 ~) a% p. \
2. 关键词可以高亮显示,以增强可读性,您可以自定义加大、加粗或指定专门的颜色进行高亮突出显示。
; p0 p# D; G0 L' [+ O- ^3. 您可以指定关键词,使含有指定关键词的日志不显示。
) u3 f, y/ M; @: q: Z, J0 D9 I' l4. 您也可以指定关键词,使含有指定关键词的日志显示。
) _3 i2 ^- V1 M5. 您还可以根据应用名中的关键词进行显示过滤。
; v% n9 \/ b6 b( N6 Q6. 同样地,您可以根据标签中的关键词进行显示过滤。
0 ?- m! h" M! c8 s' g* ~# H9 C8 O+ [$ p" Q2 q
CloudLog支持的键值对风格文字:
. k- ?9 I5 O. p( n1. 使用'&'分隔各个日志元素,每个元素由键值':'数值组成。5 t+ d3 c a; a$ g& ~4 @
2. 日期时间Tick、日志文字及日志缓冲的数值使用Base64编码。2 i2 v1 ^& T8 e
3. 应用名、标签及线程标识符一般只使用数字或字母。6 ?4 b) q8 G8 J. V7 k7 t
4. 日期时间可以选择是否传送,可以是2字节的毫秒(ms)、3字节的微秒(us)或8字节的全部时间。3 P6 W2 T& z- r' g q; U4 ?4 w+ E
5. 一个简单的示例:"hello"日志可以表示为:ll:D&/aGVsbG8=
0 R, C5 a, N; T" J) N3 y9 Z( `$ T- l% t5 K+ h, {
CloudLog支持的简易风格文字:( O# k6 O6 I* S' I
1. 使用空格分隔各个日志元素,请勿调换元素的顺序。
4 h e3 y( x! [2. 最少包含日志等级(LL)空格及日志文字(LT)。( g7 ^& y- Y6 z3 ^6 g$ r
3. LL+LT+文字,LT表示4位数的毫秒tick,范围从000到9999,最大可以表示10秒的时间间隔。
1 v" m" I! Y. c& o6 g. y4. LL+LT+TAG+文字,TAG标签用于按模块化区分日志,一般使用字母表示。& @, ~& L! z6 B
5. LL+LT+TAG+TI+文字,TI为-9的数字,表示线程标识符。
7 O& z5 D" s: g1 l* N! x0 q1 E6. LL+LT+TAG+TI+TC+文字,TC为G=GBK内码或U=UTF-8内码。+ m+ e' e6 R$ ?/ T+ c+ m" a9 b
8 y/ C' V9 x3 J2 J" H使用开源库CloudLog的方法:0 \6 N- V; u3 D
1. 直接从 https://gitee.com/hsav20/CloudLog.git 克隆整个仓库。( `7 Q T. }+ E0 Q+ c1 w
2. 将CloudLog.c和CloudLog.h文件添加到您的项目中。
: Z6 H! y8 c) V* X3. 在对应的平台目录(如PlatformWindows)中找到一个最接近的模板文件FwbConf.h,并将其复制到您的项目中。8 N1 G8 O) G! n# S' i/ Y4 t$ j( q( ]
4. 根据您的实际使用环境,修改FwbConf.h中的配置信息。, [: A B) v2 N3 X9 f5 V: ]
5. 参考PlatformWindows目录下的main.c文件,您可以了解如何输出不同类型的日志。 |
|