设为首页收藏本站

安而遇随-随遇而安

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5030|回复: 0

[网赚交流] 云控日志CloudLog

[复制链接]
发表于 2023-8-8 17:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
快速本地使用:
. J1 T$ ?( ?: |* x  U, r: s1. 在Windows电脑上,我们推荐使用WM_COPYDATA消息进行日志传输,资源占用最少,速度最快。
2 v3 e) D1 V  |; ~) o# z- ^2. 如果您的应用程序已经具备UDP或TCP功能,可以直接通过原有的Socket将日志发送到本机的127...1。
. m6 M' P" h, _  r) f4 k! q. m3. 对于嵌入式系统的本地调试,您可以通过串口、USB或网口来进行日志传输。
; r  k8 N. ^0 }' M. X6 ?9 ^* R+ p( }$ E  E( W
便捷远程及云端使用:' o% U' E2 r7 Z8 |* l: i
1. 您可以在路由器中设置端口转发功能,将对应的端口转发到安装了CloudLog的电脑上。4 s3 h) d8 [. |) i9 ^
2. 为了方便获取到电脑所在的IP地址,我们建议使用动态域名系统(DDNS)服务。/ n* [, a- Z1 I* E, R; }
3. 使用云控域名账号,在服务器上保存日志,您可以随时打开CloudLog回读所有未读过的日志。/ r; i& l9 M' j! n' }- o. V
$ V/ t  I8 ?. U( `: _! Q* H' h. @
CloudLog的日志元素介绍:
/ @% d" u: T7 _% K9 W5 G" k1. 日志等级(Log Level,简写为LL)用于确认日志的重要性。. H0 S( l$ s; k0 X3 t& f7 h+ ?
2. 日期时间Tick(Date Time tick,简写为DT)用于确定日志生成的时刻。
- A! l) g; D5 B/ A/ Y3. 应用名(App Name,简写为AN)用于确认日志的来源项目或进程。
  J+ m, j1 ^  I1 [1 j+ ~# W4. 标签(Tag,简写为TA)用于按模块化区分日志。
" T6 \6 ^6 ~3 @/ J2 f4 [, b5. 线程标识符(Thread Identity,简写为TI)用于区分多线程。
/ ^' G: K2 R7 g" B: o' w! B6. 文字内码(Text Code,简写为TC)用于实时调整当前的内码。
; w6 M0 x  J6 p4 k% C* v* u1 u* A1 m9 V7. 日志文字(Log Text,简写为LT)可以使用任何内码进行记录。
+ x, m; I; ]. X  N8. 日志缓冲(Log Buffer,简写为LB)可以传送阵列缓冲。
( o, N/ h1 O) w+ X* k9. 计时功能可以根据前一条日志的tick,计算出精确到1微秒的用时。
! c; z7 E$ k& S4 U
2 D- @7 ^; v: N6 E3 j; lCloudLog的日志等级说明:
* m- I+ r+ J* f1. Error级别表示严重的问题或软件执行功能错误,是最高等级的日志,无法屏蔽。
/ U0 |$ X6 ?  I7 m2. Warn级别表示可能出现潜在错误的情况,当选择Error级别时,Warn级别的日志将不会显示。
0 G: }& t- K0 [; V1 p3. Info级别强调应用程序运行过程中的一些重要信息。
: K; ^& b/ u( p% I, s( r4. Debug级别仅在开发期间有用的调试消息,等级较低,在正式发布时一般不会出现。
+ e3 x7 P: q$ W$ f" M5 W5. Buffer阵列数值直接显示等级与Debug相同。
" r1 ?2 {, l1 ]+ Y" x4 ~& A6. Fixer级别用于固定位置显示日志,这些日志不保存到log文件中。
" h% }( ]/ b7 N# z' x2 [+ U
' f( B! i" \& lCloudLog的日志过滤器功能:
3 R7 D2 j0 Y3 d# g1. 可以根据日志等级及各种组合来过滤日志记录。/ `' j3 D/ y+ P# J
2. 关键词可以高亮显示,以增强可读性,您可以自定义加大、加粗或指定专门的颜色进行高亮突出显示。9 S3 c: Y% ?7 x( S, }5 A& r
3. 您可以指定关键词,使含有指定关键词的日志不显示。: P, |0 D. n+ @; W0 k' m
4. 您也可以指定关键词,使含有指定关键词的日志显示。
8 @3 @4 K8 s$ G5. 您还可以根据应用名中的关键词进行显示过滤。" n/ d' o/ G5 h
6. 同样地,您可以根据标签中的关键词进行显示过滤。/ I* Y& s, c9 q! M
! |1 v' [3 H, p7 \3 Q. e
CloudLog支持的键值对风格文字:
8 D( _0 ]- ^3 b% J1 A1. 使用'&'分隔各个日志元素,每个元素由键值':'数值组成。7 e6 Y2 K9 S# m& _/ C; y
2. 日期时间Tick、日志文字及日志缓冲的数值使用Base64编码。
+ B, F+ _) X  ]0 \2 q" T; F( [7 A, v3. 应用名、标签及线程标识符一般只使用数字或字母。
9 y% K! I( R0 B4. 日期时间可以选择是否传送,可以是2字节的毫秒(ms)、3字节的微秒(us)或8字节的全部时间。8 i* E2 W* h/ s$ N1 `# Z
5. 一个简单的示例:"hello"日志可以表示为:ll&/aGVsbG8=  w7 l- u4 Z+ \; p' `

8 B- b1 s9 b# j/ A' N6 hCloudLog支持的简易风格文字:/ T7 D, M) R+ Z* A) I
1. 使用空格分隔各个日志元素,请勿调换元素的顺序。
- v) v' G: E) {, w2. 最少包含日志等级(LL)空格及日志文字(LT)。
) B- x1 Q0 h+ h$ [1 z3. LL+LT+文字,LT表示4位数的毫秒tick,范围从000到9999,最大可以表示10秒的时间间隔。" |. f$ z$ O) x7 l
4. LL+LT+TAG+文字,TAG标签用于按模块化区分日志,一般使用字母表示。4 I5 a  B2 ~/ l0 S- r: B
5. LL+LT+TAG+TI+文字,TI为-9的数字,表示线程标识符。! D" Y9 f/ Z5 D. i, D9 j1 ^  P
6. LL+LT+TAG+TI+TC+文字,TC为G=GBK内码或U=UTF-8内码。0 C; ]: `# I+ h* ?# a( s, n
+ t8 a. J9 }! e- X& ~* n
使用开源库CloudLog的方法:
4 g" P6 `1 A; L+ l1. 直接从 https://gitee.com/hsav20/CloudLog.git 克隆整个仓库。  L, Z+ j; H: ?( z$ w8 M
2. 将CloudLog.c和CloudLog.h文件添加到您的项目中。
0 G0 K! H. R+ Y% B3 }3. 在对应的平台目录(如PlatformWindows)中找到一个最接近的模板文件FwbConf.h,并将其复制到您的项目中。; x; I# a* p) H
4. 根据您的实际使用环境,修改FwbConf.h中的配置信息。
. t* z+ Q8 `' R# w4 `5. 参考PlatformWindows目录下的main.c文件,您可以了解如何输出不同类型的日志。1 L4 {! E: L) {; w8 U- o# C  R

3 _% \# L' P4 F2 B9 B% L/ I, d) k
随遇而安
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表