|
赶快注册并登录访问我们网站,呈现更多精彩内容!
您需要 登录 才可以下载或查看,没有帐号?注册加入
x
快速本地使用:
) r1 c( A* X( A. o8 p7 m1. 在Windows电脑上,我们推荐使用WM_COPYDATA消息进行日志传输,资源占用最少,速度最快。5 D7 p* ]3 y1 t7 I: G& N
2. 如果您的应用程序已经具备UDP或TCP功能,可以直接通过原有的Socket将日志发送到本机的127...1。
# H9 B. u v/ M1 E' U& T' k3. 对于嵌入式系统的本地调试,您可以通过串口、USB或网口来进行日志传输。1 t& T( Y- L8 D& h
. @" I, }2 Z; P9 e8 y: c
便捷远程及云端使用:$ r% s4 ^5 H' {
1. 您可以在路由器中设置端口转发功能,将对应的端口转发到安装了CloudLog的电脑上。: |7 {$ s% e3 D; t0 w: |# ]
2. 为了方便获取到电脑所在的IP地址,我们建议使用动态域名系统(DDNS)服务。
# f# _3 Q' J' t( j- D4 \4 ^3. 使用云控域名账号,在服务器上保存日志,您可以随时打开CloudLog回读所有未读过的日志。( I! L8 V% y6 O- F" j9 j! e3 Q
m8 ?1 c5 H0 H4 e
CloudLog的日志元素介绍:
! C. k$ Y# r# S+ X9 X1. 日志等级(Log Level,简写为LL)用于确认日志的重要性。
7 @; Q! v4 u" Q- L& f4 \ y2. 日期时间Tick(Date Time tick,简写为DT)用于确定日志生成的时刻。" n/ j; r+ h1 P% {
3. 应用名(App Name,简写为AN)用于确认日志的来源项目或进程。
/ y! _, A; W$ g1 ^+ @: \4. 标签(Tag,简写为TA)用于按模块化区分日志。
9 r$ z+ c9 `4 r" O5. 线程标识符(Thread Identity,简写为TI)用于区分多线程。& g3 S+ e1 ~4 p* U( C+ \' d) a
6. 文字内码(Text Code,简写为TC)用于实时调整当前的内码。
0 {: M6 y: r; I( B/ ^7. 日志文字(Log Text,简写为LT)可以使用任何内码进行记录。& b" ?) m! t" Q: s) @# O; I3 q
8. 日志缓冲(Log Buffer,简写为LB)可以传送阵列缓冲。
& [, Q4 Y$ [) N$ O6 |9. 计时功能可以根据前一条日志的tick,计算出精确到1微秒的用时。% s( B: s5 E1 } b6 G4 q. \
) }; H) h1 Q( |/ ?6 v( C& u* X
CloudLog的日志等级说明:
$ U& T/ u8 D9 r# r1. Error级别表示严重的问题或软件执行功能错误,是最高等级的日志,无法屏蔽。
7 B& @% t: X' j- c2. Warn级别表示可能出现潜在错误的情况,当选择Error级别时,Warn级别的日志将不会显示。
2 w" P( T' h, J6 D/ [3. Info级别强调应用程序运行过程中的一些重要信息。 E& Y% | O0 l. p4 i8 ]
4. Debug级别仅在开发期间有用的调试消息,等级较低,在正式发布时一般不会出现。# i8 a8 w3 ?: p% J
5. Buffer阵列数值直接显示等级与Debug相同。
, w/ r6 C6 ^; |, ]+ [4 H9 G6. Fixer级别用于固定位置显示日志,这些日志不保存到log文件中。9 |* g: e2 e6 |, t) `
2 [3 r; i& B. d# B# R' h( G/ x* k
CloudLog的日志过滤器功能:' y! G0 T" Z# u J- F2 I$ n3 P8 y, f; R
1. 可以根据日志等级及各种组合来过滤日志记录。8 O% \7 P; l- I
2. 关键词可以高亮显示,以增强可读性,您可以自定义加大、加粗或指定专门的颜色进行高亮突出显示。0 j8 o7 k! W( I& w% e
3. 您可以指定关键词,使含有指定关键词的日志不显示。
$ [( q+ v7 |- h# N; q/ D& E& S4. 您也可以指定关键词,使含有指定关键词的日志显示。
& |' M! w, r m* S# C) G5. 您还可以根据应用名中的关键词进行显示过滤。
3 Y: O! P3 S( ?4 E% e5 k" j5 o6. 同样地,您可以根据标签中的关键词进行显示过滤。% S' E& |6 \# ^& D$ X
# a* f/ D5 i4 F: [% f& F
CloudLog支持的键值对风格文字:$ c% |% L) u6 I0 q8 U; Q
1. 使用'&'分隔各个日志元素,每个元素由键值':'数值组成。
1 H: W) J* y9 ~5 E1 ^4 @2. 日期时间Tick、日志文字及日志缓冲的数值使用Base64编码。2 d8 @) d# P# f; u3 n
3. 应用名、标签及线程标识符一般只使用数字或字母。
5 U( e' ?3 K8 }, I1 `4. 日期时间可以选择是否传送,可以是2字节的毫秒(ms)、3字节的微秒(us)或8字节的全部时间。
' z5 o0 l1 `& u+ b5. 一个简单的示例:"hello"日志可以表示为:ll:D&/aGVsbG8=8 T. h5 o6 x' N1 d
0 T6 g& r4 W* G( Q0 vCloudLog支持的简易风格文字:
! Z. h3 h% N% e* Q4 ?2 t1. 使用空格分隔各个日志元素,请勿调换元素的顺序。- X5 w0 c6 ?* c
2. 最少包含日志等级(LL)空格及日志文字(LT)。
9 l1 k. @- p. F/ Y+ [8 T/ S- |3. LL+LT+文字,LT表示4位数的毫秒tick,范围从000到9999,最大可以表示10秒的时间间隔。/ z) m+ g* A& G: v, _9 h- j' l
4. LL+LT+TAG+文字,TAG标签用于按模块化区分日志,一般使用字母表示。9 Z6 e. Y* ^$ z5 f- @
5. LL+LT+TAG+TI+文字,TI为-9的数字,表示线程标识符。
+ \2 J6 M$ a* J6. LL+LT+TAG+TI+TC+文字,TC为G=GBK内码或U=UTF-8内码。5 \* L# p6 @3 A8 Z( v7 b* F' @* b
0 v4 t, l, ^1 s3 F9 [6 h+ r3 \
使用开源库CloudLog的方法:2 ^) C/ j7 e/ P4 M- ?- o
1. 直接从 https://gitee.com/hsav20/CloudLog.git 克隆整个仓库。
1 ]6 p( x9 T( t2. 将CloudLog.c和CloudLog.h文件添加到您的项目中。6 [. z D5 f. e; Z2 R, H; G. B# n
3. 在对应的平台目录(如PlatformWindows)中找到一个最接近的模板文件FwbConf.h,并将其复制到您的项目中。
( J; n6 w+ i$ z; e- W2 b' C4. 根据您的实际使用环境,修改FwbConf.h中的配置信息。; R! n0 F( l/ v
5. 参考PlatformWindows目录下的main.c文件,您可以了解如何输出不同类型的日志。 |
|