|
快速本地使用:
9 v; B0 z3 Z7 y1 v9 E2 ^8 x7 I1. 在Windows电脑上,我们推荐使用WM_COPYDATA消息进行日志传输,资源占用最少,速度最快。
; V) O! F" y# r: D: P2. 如果您的应用程序已经具备UDP或TCP功能,可以直接通过原有的Socket将日志发送到本机的127...1。
- i; A5 e' ], M/ ^) @; r3. 对于嵌入式系统的本地调试,您可以通过串口、USB或网口来进行日志传输。
. l% m& o3 U9 J% S
( S8 @1 ~7 I; l M) d* \& ~便捷远程及云端使用:" o0 \( w9 n3 R$ d. g
1. 您可以在路由器中设置端口转发功能,将对应的端口转发到安装了CloudLog的电脑上。
% S7 V) I o1 K- V2 v2. 为了方便获取到电脑所在的IP地址,我们建议使用动态域名系统(DDNS)服务。- H! x2 O% A }; u8 r9 e. S
3. 使用云控域名账号,在服务器上保存日志,您可以随时打开CloudLog回读所有未读过的日志。
/ D0 f$ Y- _9 v2 Y3 g. M3 ~
+ v' S# |2 o* C/ e' {; R" }7 RCloudLog的日志元素介绍:
) J' ~$ R, J' O/ Q& D+ [- \1. 日志等级(Log Level,简写为LL)用于确认日志的重要性。
" A# q+ v- f Z5 A6 @0 F- h2. 日期时间Tick(Date Time tick,简写为DT)用于确定日志生成的时刻。& d6 v7 S+ C5 H5 G- Z
3. 应用名(App Name,简写为AN)用于确认日志的来源项目或进程。
; C0 I, }5 Y& G% C; C+ ]# ^' [4. 标签(Tag,简写为TA)用于按模块化区分日志。
( C: _- e2 ~! M! Q& {5. 线程标识符(Thread Identity,简写为TI)用于区分多线程。' p% M8 m/ S2 B j# J
6. 文字内码(Text Code,简写为TC)用于实时调整当前的内码。# c/ L" L5 A# ?
7. 日志文字(Log Text,简写为LT)可以使用任何内码进行记录。
4 T- L( _, H" f; m# L# p, N, i8. 日志缓冲(Log Buffer,简写为LB)可以传送阵列缓冲。
! h0 p7 a" R p- a4 U% H0 A9. 计时功能可以根据前一条日志的tick,计算出精确到1微秒的用时。1 w4 z' p" {% _2 H
4 g; |8 _( u7 `$ G6 o' {5 J
CloudLog的日志等级说明:4 T/ q5 _2 W3 M' m. W
1. Error级别表示严重的问题或软件执行功能错误,是最高等级的日志,无法屏蔽。
# ~5 Y" R3 L: b! x$ b! u3 A2. Warn级别表示可能出现潜在错误的情况,当选择Error级别时,Warn级别的日志将不会显示。1 p6 k0 c5 E5 {/ H( u
3. Info级别强调应用程序运行过程中的一些重要信息。0 @7 `+ a% T4 L) A# V
4. Debug级别仅在开发期间有用的调试消息,等级较低,在正式发布时一般不会出现。* g$ u, w& W- e" u
5. Buffer阵列数值直接显示等级与Debug相同。9 U# a# H r8 u; \
6. Fixer级别用于固定位置显示日志,这些日志不保存到log文件中。
. R% y+ @' h, z. D Y
) G- w- Y& \% cCloudLog的日志过滤器功能:3 ^+ D# X3 A6 |# e
1. 可以根据日志等级及各种组合来过滤日志记录。
! b J& h' t; T2. 关键词可以高亮显示,以增强可读性,您可以自定义加大、加粗或指定专门的颜色进行高亮突出显示。& [' J8 M7 u( Q9 G7 P
3. 您可以指定关键词,使含有指定关键词的日志不显示。
8 `4 C- t( }( v9 l4. 您也可以指定关键词,使含有指定关键词的日志显示。) m$ r9 L& a( {0 U+ V; Z4 e1 ^
5. 您还可以根据应用名中的关键词进行显示过滤。
1 q' V) l7 o* c6 q4 F; d6. 同样地,您可以根据标签中的关键词进行显示过滤。5 k; f7 w! F" ]+ x5 K1 x
" J' _5 }3 [/ Q& e7 bCloudLog支持的键值对风格文字:
3 M: x( N* V6 N$ J' [1. 使用'&'分隔各个日志元素,每个元素由键值':'数值组成。
9 ^! r* B; O9 Y) T% y2. 日期时间Tick、日志文字及日志缓冲的数值使用Base64编码。8 a+ [4 b' x. E$ V/ B4 Q7 ]
3. 应用名、标签及线程标识符一般只使用数字或字母。) O' q9 [' s. C# ^- c, i2 ?
4. 日期时间可以选择是否传送,可以是2字节的毫秒(ms)、3字节的微秒(us)或8字节的全部时间。
( d5 t+ T! C; y9 l5. 一个简单的示例:"hello"日志可以表示为:ll:D&/aGVsbG8=
* |7 m, r. f! j# o5 C; N. Y" ?; u% B) b9 Y, Q6 @8 X
CloudLog支持的简易风格文字:6 o/ D5 ?" g% I. a4 P* Q* {
1. 使用空格分隔各个日志元素,请勿调换元素的顺序。
% _$ g8 u: w. B' o0 {5 n2. 最少包含日志等级(LL)空格及日志文字(LT)。. `9 B' L+ D( h; w% K1 S/ v
3. LL+LT+文字,LT表示4位数的毫秒tick,范围从000到9999,最大可以表示10秒的时间间隔。0 }3 e( V7 p7 x4 ?
4. LL+LT+TAG+文字,TAG标签用于按模块化区分日志,一般使用字母表示。
% S K8 w# j$ K4 ?0 d5. LL+LT+TAG+TI+文字,TI为-9的数字,表示线程标识符。
( ]7 z; Z! q! X6. LL+LT+TAG+TI+TC+文字,TC为G=GBK内码或U=UTF-8内码。
2 o% N+ z# n$ P2 g' B3 a7 H6 y( i$ K/ { I( \, W1 C
使用开源库CloudLog的方法:
# i' \8 h) p( e( n# q! u$ }8 `1. 直接从 https://gitee.com/hsav20/CloudLog.git 克隆整个仓库。" K5 ?+ h+ [, a. ^% ], Q; `
2. 将CloudLog.c和CloudLog.h文件添加到您的项目中。1 j2 b4 d1 j- R% v: E
3. 在对应的平台目录(如PlatformWindows)中找到一个最接近的模板文件FwbConf.h,并将其复制到您的项目中。( X+ f% Q- V& u. A4 o: g
4. 根据您的实际使用环境,修改FwbConf.h中的配置信息。
c! c/ r' G$ s- D5. 参考PlatformWindows目录下的main.c文件,您可以了解如何输出不同类型的日志。 |
|