|
|
快速本地使用:$ }9 E' \4 q+ `+ j
1. 在Windows电脑上,我们推荐使用WM_COPYDATA消息进行日志传输,资源占用最少,速度最快。
. q, ]' p) l j* m& I% P2. 如果您的应用程序已经具备UDP或TCP功能,可以直接通过原有的Socket将日志发送到本机的127...1。
& }* |' ^$ x6 ]3. 对于嵌入式系统的本地调试,您可以通过串口、USB或网口来进行日志传输。% M- g% [! J* ], ~# M' z% a, {- F
6 V2 {( U! h; R- B" C' ~便捷远程及云端使用:
* N- P0 R0 m% N1. 您可以在路由器中设置端口转发功能,将对应的端口转发到安装了CloudLog的电脑上。& q& j8 y. w9 K$ X- _% i1 z% B4 e+ q
2. 为了方便获取到电脑所在的IP地址,我们建议使用动态域名系统(DDNS)服务。
1 \! M; p/ P/ H( m0 Y9 Z3. 使用云控域名账号,在服务器上保存日志,您可以随时打开CloudLog回读所有未读过的日志。
& y) _8 \+ F; S' L$ J1 W: a" `7 `+ P& r+ u8 f1 B) v, G' P8 z
CloudLog的日志元素介绍:
% r) Y, u7 J H h! O4 V1. 日志等级(Log Level,简写为LL)用于确认日志的重要性。
! s, `+ @8 Z: y6 m9 R5 {2 {/ W/ H2. 日期时间Tick(Date Time tick,简写为DT)用于确定日志生成的时刻。
) ]$ w/ j* w8 {) C3. 应用名(App Name,简写为AN)用于确认日志的来源项目或进程。
; X' \1 {. N0 u! ^0 ]$ e4. 标签(Tag,简写为TA)用于按模块化区分日志。' S6 c- ]! S1 V) k f8 ]+ b
5. 线程标识符(Thread Identity,简写为TI)用于区分多线程。
, T# k4 w. O3 X6. 文字内码(Text Code,简写为TC)用于实时调整当前的内码。: y5 P! S" i+ s$ e3 k1 p
7. 日志文字(Log Text,简写为LT)可以使用任何内码进行记录。
, c7 U8 n6 ?3 w8. 日志缓冲(Log Buffer,简写为LB)可以传送阵列缓冲。" b @. x% T8 m( |. l% |
9. 计时功能可以根据前一条日志的tick,计算出精确到1微秒的用时。& e1 Y8 z0 k5 Y
& R- s/ g# l" H2 m( g" h9 Z7 n
CloudLog的日志等级说明:
2 W2 G3 ^5 J$ J: z1 r5 K3 h1 j G* T1. Error级别表示严重的问题或软件执行功能错误,是最高等级的日志,无法屏蔽。
; h- E2 i. B* f; j' ~, q2. Warn级别表示可能出现潜在错误的情况,当选择Error级别时,Warn级别的日志将不会显示。) [; J: Z' D' n( O7 `
3. Info级别强调应用程序运行过程中的一些重要信息。
1 ~+ t2 N! P" Q8 x: [& O4. Debug级别仅在开发期间有用的调试消息,等级较低,在正式发布时一般不会出现。- [# M8 \! E9 s# O7 W0 a
5. Buffer阵列数值直接显示等级与Debug相同。
$ w0 `5 s5 G. T" x# x6. Fixer级别用于固定位置显示日志,这些日志不保存到log文件中。6 t! z+ k1 ~+ S$ t6 ?/ G
: j {% l" c- a0 U1 \" HCloudLog的日志过滤器功能:
2 s2 i+ b5 s. g% ?4 g0 D& t1. 可以根据日志等级及各种组合来过滤日志记录。
8 c8 J" G+ s4 _! C" Q8 t2. 关键词可以高亮显示,以增强可读性,您可以自定义加大、加粗或指定专门的颜色进行高亮突出显示。
, x. \& b0 d, G' m- b) Q4 z3. 您可以指定关键词,使含有指定关键词的日志不显示。* `. ~( M+ y3 ~
4. 您也可以指定关键词,使含有指定关键词的日志显示。1 @9 h. N5 p1 R6 G& c
5. 您还可以根据应用名中的关键词进行显示过滤。$ p0 g0 L/ U3 U: p! O
6. 同样地,您可以根据标签中的关键词进行显示过滤。
; P1 [) e: }/ I6 J8 h3 ?4 l6 m9 ?$ Y; q3 R# J
CloudLog支持的键值对风格文字:' Y( ^6 U; G+ P1 {. S+ a
1. 使用'&'分隔各个日志元素,每个元素由键值':'数值组成。
# l4 X3 Y" A( v! _+ j2. 日期时间Tick、日志文字及日志缓冲的数值使用Base64编码。
6 O8 ]1 [2 G0 F$ r) _* p6 ~3. 应用名、标签及线程标识符一般只使用数字或字母。
/ E$ a: I) J8 k% t: U+ N3 O4. 日期时间可以选择是否传送,可以是2字节的毫秒(ms)、3字节的微秒(us)或8字节的全部时间。
& k0 N9 ?+ x6 }& |- v# T5. 一个简单的示例:"hello"日志可以表示为:ll &/aGVsbG8=
! N$ l8 q0 p0 g. }3 x. f- r! c4 ^! p6 ?
CloudLog支持的简易风格文字:
! Z( o' P# i+ b1. 使用空格分隔各个日志元素,请勿调换元素的顺序。3 I& O- e3 i+ q" y4 o( m
2. 最少包含日志等级(LL)空格及日志文字(LT)。+ g. a+ y7 \( n+ b1 M1 y: t! w
3. LL+LT+文字,LT表示4位数的毫秒tick,范围从000到9999,最大可以表示10秒的时间间隔。
3 X# e$ L+ u, O( g4. LL+LT+TAG+文字,TAG标签用于按模块化区分日志,一般使用字母表示。
) z- F8 a5 k9 W# \' O _- e5. LL+LT+TAG+TI+文字,TI为-9的数字,表示线程标识符。! @, g. w/ \$ W+ S5 G/ j5 {3 d
6. LL+LT+TAG+TI+TC+文字,TC为G=GBK内码或U=UTF-8内码。" r8 b# K' J% y5 B
% P; v' P, r) C, [5 q
使用开源库CloudLog的方法:: C3 _6 _0 M: E4 K1 v) L
1. 直接从 https://gitee.com/hsav20/CloudLog.git 克隆整个仓库。
/ s1 s' f! R+ u6 ]9 g% U" L! I2. 将CloudLog.c和CloudLog.h文件添加到您的项目中。0 e6 V3 r- _( b7 K1 ?0 O
3. 在对应的平台目录(如PlatformWindows)中找到一个最接近的模板文件FwbConf.h,并将其复制到您的项目中。
0 }- n9 s Q) a2 C6 A: V4. 根据您的实际使用环境,修改FwbConf.h中的配置信息。5 {" r$ o: T9 I+ Q$ K; G5 S
5. 参考PlatformWindows目录下的main.c文件,您可以了解如何输出不同类型的日志。
( ~) _2 H, W: Z' n, ]+ J$ v) X% |+ b
|
|