openharmony中hilog实证记录说明(3.1和5.0版本)

每次用这个工具hilog都有一些小用法记不清,需要花一些时间去查去分析使用方法,为了给丰富多彩的生活留出更多的时间,所以汇总整理共享来了,它来了它来了~~~~~~~~~

开始是想通过3.1来汇总的,但实际测试发现openharmony3.1和openharmony5.0的区别还是比较大的,所以中间又采用的5.0的版本,有使用3.1版本的可以查看最后的openharmony3.1版本的hilog工具的帮助信息的简单说明。

命令行说明

短选项长选项参数说明
-h–help-帮助命令。
缺省缺省-阻塞读日志,不退出。
-x–exit-非阻塞读日志,读完退出。
-g--查询buffer的大小,配合-t指定某一类型使用,默认app和core。
-G–buffer-size设置指定日志类型缓冲区的大小,配合-t指定某一类型使用,默认app和core, 可使用B/K/M为单位,范围为64K-16M。
-r--清除buffer日志,配合-t指定某一类型使用,默认app和core。
-k-<on/off>Kernel日志读取开关控制。
on打开读取kernel日志。
off关闭读取kernel日志。
-s–statistics-查询统计信息,需配合-t或-D使用。
-S--清除统计信息,需配合-t或-D使用。
-Q-流控缺省配额开关控制。
pidon进程流控开关打开。
pidoff进程流控开关关闭。
domainondomain流控开关打开。
domainoffdomain流控开关关闭。
-L–level指定级别的日志,示例:-L D/I/W/E/F。
-t–type指定类型的日志,示例:-t app/core/init/only_prerelease。app为应用日志,core为系统日志,init为启动日志,only_prerelease为仅在系统release版本前打印的日志,应用开发者无需关注。
-D–domain指定domain。
-T–tag指定tag。
-a–head只显示前行日志。
-z–tail只显示后行日志。
-P–pid标识不同的pid。
-e–regex只打印日志消息与匹配的行,其中是一个正则表达式。
-f–filename设置落盘的文件名。
-l–length设置落盘的文件大小,需要大于等于64K。
-n–number设置落盘文件的个数。
-j–jobid设置落盘任务的ID。
-w–write落盘任务控制。
query落盘任务查询。
start落盘任务开始,命令行参数为文件名、单文件大小、落盘算法、rotate文件数目。
stop落盘任务停止。
refresh刷新缓冲区的日志到落盘文件。
clear删除已经落盘的日志文件。
-m–stream落盘方式控制。
none无压缩方式落盘。
zlibzlib压缩算法落盘,落盘文件为.gz。
zstdzstd压缩算法落盘,落盘文件为.zst。
-v–format显示格式控制。
time显示本地时间。
color显示不同级别显示不同颜色,参数缺省级别颜色模式处理(按黑白方式)。
epoch显示相对1970时间。
monotonic显示相对启动时间。
usec显示微秒精度时间。
nsec显示纳秒精度时间。
year显示将年份添加到显示的时间。
zone显示将本地时区添加到显示的时间。
wrap日志换行显示时,新行不增加时间戳等前缀。
-b–baselevel设置可打印日志的最低等级:D(DEBUG)/I(INFO)/W(WARN)/E(ERROR)/F(FATAL)。

一、命令格式

hilog [选项]

二、功能说明

1. 显示帮助信息

  • -h:显示所有帮助信息。
  • query/clear/buffer/stats/persist/private/kmsg/flowcontrol/baselevel/domain/combo:显示指定操作类型的帮助信息。
字段(操作类型)说明
query查询
clear清除
buffer缓存buffer
stats统计信息相关,可查询
persist存储相关的设置
privateHILOG API 的隐私格式化功能
kmsg是否读取内核日志
flowcontrol设置日志流控功能
baselevel设置可打印日志的等级,例如D(DEBUG)/I(INFO)/W(WARN)/E(ERROR)/F(FATAL)
domain分类标识符,对日志或功能进行分类和管理
combo一些组合说明,例如开关的开和关不能同时组合啥的,常识类的东西。

2. 查询日志

2.1无选项

执行阻塞读取并持续打印日志。

  • 命令
hilog
  • 实证

在这里插入图片描述

读完之后会一直阻塞循环读取,类似linux中tail命令实现的效果。

2.2非阻塞读取

执行打印缓冲区中所有日志后退出

  • 命令
hilog -x
  • 实证

例如我清除日志后,重新读一下日志,会打印出当前的最新的日志,并会自动退出。

在这里插入图片描述

2.3显示缓冲区前 n 行日志
  • 命令
hilog -a 10
  • 实证

查询前三行的日志。

在这里插入图片描述

2.4显示缓冲区后 n 行日志
  • 命令
hilog -z 10
  • 实证

查询后三行的日志

在这里插入图片描述

2.5显示指定类型的日志

显示指定类型的日志。类型可以是:app/core/init/kmsg/only_prerelease,默认类型是:app,core,init,only_prerelease

类型说明
app用于应用程序的日志。这些日志通常由应用程序开发者编写,用于记录应用的运行状态、用户操作等
core用于系统核心模块的日志。这些日志记录系统的核心功能和底层操作
init用于系统初始化过程的日志。这些日志记录系统启动时的初始化操作
kmsg用于内核消息的日志。这些日志记录内核的运行状态和事件
only_prerelease仅在系统预发布版本(pre-release)中打印的日志。这些日志通常用于内部测试和调试,不适用于正式发布版本
  • 命令
hilog -t app core
  • 实证

在这里插入图片描述

2.6显示指定级别日志

显示指定级别,长级别字符串可以是:DEBUG/INFO/WARN/ERROR/FATAL,短级别字符串可以是:D/I/W/E/F,默认级别是所有级别。

  • 命令
hilog -L D
  • 实证

只显示对应级别的日志

在这里插入图片描述

日志级别说明
  • D(DEBUG):调试信息,用于开发和测试阶段,记录详细的运行状态和变量值。
  • I(INFO):普通信息,记录正常运行时的重要事件。
  • W(WARN):警告信息,表示可能存在的问题,但不会影响系统的正常运行。
  • E(ERROR):错误信息,表示系统运行中出现的错误,可能会影响功能的正常执行。
  • F(FATAL):严重错误,表示系统运行中出现的致命错误,可能导致程序崩溃或无法继续运行。
2.7显示指定域

显示指定域(格式:domain1,domain2,domain3)或排除指定域(格式:^domain1,domain2,domain3)的日志。最大域数为 5

  • 命令
hilog -D 02b00
  • 实证

在这里插入图片描述
根据参考资料实际应该是日志中的02b00这个,但是我这个版本的hilog显示不出来,不清楚是我操作问题还是小bug,有码友了解的也麻烦告知一下🔐

2.8显示指定标签

显示指定标签(格式:tag1,tag2,tag3)或排除指定标签(格式:^tag1,tag2,tag3)的日志。最大标签数为 10。

指定显示命令
hilog -T DisplayPowerBrightness,wpa_supplicant  
  • 实证
    在这里插入图片描述
指定排除标签显示命令
hilog -T ^DisplayPowerBrightness,wpa_supplicant  
  • 实证

在这里插入图片描述

2.9显示指定进程 ID

显示指定进程 ID(格式:pid1,pid2,pid3)或排除指定进程 ID(格式:^pid1,pid2,pid3)的日志。最大进程 ID 数为 5

指定显示命令
hilog -P 1221
  • 实证

在这里插入图片描述

指定排除指定进程显示命令
hilog -P ^1221,254,530
  • 实证

在这里插入图片描述

2.10匹配正则表达式

-e <expr>:显示匹配正则表达式 <expr> 的日志。

  • 命令
hilog -e start
  • 实证

在这里插入图片描述

2.11不同格式显示日志

-v <format>:以不同格式显示日志

  • 命令
hilog -v color/time/msec....
  • color:按日志级别显示彩色日志。

在这里插入图片描述

在这里插入图片描述

  • time:显示本地时间(默认)。

在这里插入图片描述

  • epoch:显示从 1970/1/1 开始的时间。
  • monotonic:显示从启动开始的 CPU 时间。
  • msec:以毫秒显示时间(默认)。
  • usec:以微秒显示时间。
  • nsec:以纳秒显示时间。
  • year:当指定 -v time 时显示年份。
  • zone:当指定 -v time 时显示时区。
  • wrap:当日志行换行时无前缀显示日志。

3. 清除日志

3.1清除 hilogd 缓冲区中的所有日志
  • 命令
hilog -r
  • 实证

在这里插入图片描述

3.2清除缓冲区中指定类型

-t <type>:清除缓冲区中指定类型(格式:type1,type2,type3)的日志。类型可以是:app/core/init/kmsg/only_prerelease,默认类型是:app,core,only_prerelease。

  • 命令
hilog -r -t core
  • 实证

在这里插入图片描述

4. 查询缓冲区大小

4.1查询 hilogd 缓冲区大小
  • 命令
hilog -g
  • 实证

在这里插入图片描述

4.2查询指定类型的缓冲区大小

-t <type>:查询指定类型(格式:type1,type2,type3)的缓冲区大小。类型可以是:app/core/init/kmsg/only_prerelease,默认类型是:app,core,only_prerelease。

  • 命令
hilog -g -t app
  • 实证

在这里插入图片描述

5. 设置缓冲区大小

5.1设置 hilogd 缓冲区大小
  • 命令

-G <size>:设置 hilogd 缓冲区大小,<size> 可以是数字或带单位的数字。单位可以是:B/K/M/G,分别表示字节、千字节、兆字节、吉字节。<size> 范围:[64.0K, 512.0M]。

hilog -G 62M
  • 实证

在这里插入图片描述

5.2设置 指令类型缓冲区大小

-t <type>:设置指定类型(格式:type1,type2,type3)的日志缓冲区大小。类型可以是:app/core/init/kmsg/only_prerelease,默认类型是:app,core,only_prerelease。这是一个持久化配置。

  • 命令
hilog -G 200M -t app
  • 实证

在这里插入图片描述

6. 查询统计信息

-s:查询日志统计信息。设置参数 persist.sys.hilog.stats 为 true 可启用统计。设置参数 persist.sys.hilog.stats.tag 为 true 可启用日志标签统计。

  • 命令
hilog -s
  • 实证

在这里插入图片描述

设置参数命令param set persist.sys.hilog.stats trueparam set persist.sys.hilog.stats.tag true

  • 实证

在这里插入图片描述

💙注意设置完之后需要重启才能生效。。。。。。

7. 清除统计信息

清除 hilogd 统计信息

  • 命令
hilog -S 
  • 实证

在这里插入图片描述

8. 日志持久化任务控制

-w <control>:日志持久化任务控制,选项包括:

  • query:查询任务信息。

在这里插入图片描述

  • stop:停止所有任务。

在这里插入图片描述

  • start:启动一个任务。

在这里插入图片描述

在这里插入图片描述

  • refresh:将缓冲区内容刷新到文件。

    在这里插入图片描述

  • clear:清除 /data/log/hilog/hilog*.gz

在这里插入图片描述

  • 高级选项:

    • -f <filename>:设置日志文件名,名称应为 Linux 文件系统的有效名称。
    • -l <length>:设置单个日志文件大小。<length> 可以是数字或带单位的数字。单位可以是:B/K/M/G,分别表示字节、千字节、兆字节、吉字节。<length> 范围:[64.0K, 512.0M]。
    • -n <number>:设置最大日志文件数,当文件数超过此数量时进行日志文件轮转。<number> 范围:[2, 1000]。
    • -m <compress algorithm>:设置日志文件压缩算法,选项包括:
      • none:写入未压缩的日志文件。
      • zlib:写入 zlib 压缩的日志文件。
    • -j <jobid>:启动或停止指定任务的 <jobid><jobid> 范围:[10, 0xffffffff)。用户可以使用选项(t/L/D/T/P/e/v)启动任务,就像在 “查询日志” 时使用它们一样。这是一个持久化配置。

    例如开启kmsglog落盘任务,并且设置落盘规则,文件名为kmsglog,大小为2M,数量为100个, 其压缩方式为zlib压缩

    hilog -w start -t kmsg -f kmsglog -l 2M -n 100 -m zlib
    

    在这里插入图片描述

9. 设置日志隐私格式化功能

-p <on/off>:设置 HILOG API 隐私格式化功能为开启或关闭。这是一个临时配置,重启后会丢失。

  • 命令
hilog -p on 
  • 实证

在这里插入图片描述

10. 设置 hilogd 存储 kmsg 日志功能

-k <on/off>:设置 hilogd 存储 kmsg 日志功能为开启或关闭。这是一个持久化配置。

  • 命令
hilog -k off
  • 实证

在这里插入图片描述

11. 设置日志流控制功能

-Q <control-type>:设置日志流控制功能为开启或关闭,选项包括:

  • pidon:进程流控制开启,当某个进程的日志输出过多时,系统会自动限制该进程的日志输出频率,以避免日志过多对系统性能造成影响。
  • pidoff:进程流控制关闭。当某个日志域的日志输出过多时,系统会自动限制该域的日志输出频率。日志域通常是按照功能模块或服务划分的,例如“网络模块”、“文件系统模块”等。
  • domainon:域流控制开启。
  • domainoff:域流控制关闭。
  • 命令
hilog -Q pidoff

💙这是一个临时配置,重启后会丢失。

  • 实证

在这里插入图片描述

12. 设置全局日志级别

  • -b <loglevel>:设置全局日志级别为 <loglevel>。长级别字符串可以是:DEBUG/INFO/WARN/ERROR/FATAL/X,短级别字符串可以是:D/I/W/E/F/X。X 表示日志级别高于最大级别,不会打印任何日志。

从低到高通常分为 DEBUG、INFO、WARN、ERROR 和 FATAL。

  • 命令
hilog -b E

💙这是一个临时配置,重启后会丢失。

  • 实证

在这里插入图片描述

可以看到上面截图中还有I级别的日志,具体原因未知,但是后续的日志就只有E级别了。

此命令可以结合-D和-T参数来指定域和标签的日志级别。

  • -D <domain>:设置指定域的日志级别。

  • -T <tag>:设置指定标签的日志级别。优先级为:标签级别 > 域级别 > 全局级别。

  • 命令

hilog -b E -D app 
  • 实证

在这里插入图片描述

13、注意事项

第一层选项不能组合使用,例如:hilog -S -shilog -w start -rhilog -p on -k on -b D

openharmony3.1版本的hilog工具的帮助信息

hilog -h                                                                     
Usage:  [options]
options include:No option default action: performs a blocking read and keeps printing.#1.无选项默认操作,执行阻塞读取并继续打印。-h --help          show this message.#2.显示帮助信息-x --exit          Performs a non-blocking read and exits immediately.#3.执行非阻塞读取并立即退出。-g                 query hilogd buffer size, use -t to specify log type.#4.查询日志缓冲区大小,使用-t指定日志类型。-p, --privacy      set privacy formatter feature on or off.#5.设置打开或关闭格式化功能on  turn onoff turn off-k				store log type kmsg or not #6.存储日志类型是否为kmsgon  yesoff no-s, --statistics   query hilogd statistic information.#7.查询基本的统计信息-S                 clear hilogd statistic information.#8.清楚基本的统计信息-r                 remove the logs in hilog buffer, use -t to specify log type #9.删除hilog缓冲区中的日志,使用-t来指定日志类型-Q <control-type>      set log flow-control feature on or off.# 9.设置打开或关闭日志流控制功能pidon     process flow control onpidoff    process flow control offdomainon  domain flow control ondomainoff domain flow contrl off-L <level>, --level=<level> # 10.在特定的级别上输出日志Outputs logs at a specific level.-t <type>, --type=<type>    Reads <type> and prints logs of the specific type,#11.打印特定类型的日志which is -t app (application logs) by default.#默认情况下是-t应用程序(应用程序日志)。-D <domain>, --domain=<domain> specify the domain, no more than 5.# 12.指定域,不超过5。-T <tag>, --Tag=<tag> specify the tag, no more than 10. # 13.指定标记-a <n>, --head=<n> show n lines log on head. #14.显示前N行-z <n>, --tail=<n> show n lines log on tail. #15.显示最后的N行-G <size>, --buffer-size=<size>set hilogd buffer size, use -t to specify log type.# 16设置日志记录缓冲区大小,使用-t指定日志类型。-P <pid>           specify pid, no more than 5. #16指定pid,不超过5。-e <expr>, --regex=<expr> # 17.显示匹配正则表达式的日志show the logs which match the regular expression,<expr> is a regular expression.-f <filename>, --filename=<filename>set log file name.# 18.设置日志文件名称-l <length>, --length=<length>set single log file size.# 19.设置日志文件大小-n <number>, --number<number>set max log file numbers.# 19.设置最大日志文件数-j <jobid>, --jobid<jobid>start/stop the log file writing task of <jobid>.#20.启动/停止<jobid>的日志文件写入任务。-w <control>,--write=<control>query      log file writing task query.# 21.日志文件写入任务查询start      start a log file writing task, see -F -l -n -c for to set more configs,stop       stop a log file writing task.-m <compress algorithm>,--stream=<compress algorithm>#22.压缩算法none       log file without compressingzlib       compress log file by the zlib algorithmzstd       compress log file by the zstd algorithm-v <format>, --format=<format> options:#23.设置显示格式time       display local time.color      display colorful logs by log level.i.e. VERBOSEDEBUG INFO WARN                     ERROR FATALepoch      display the time from 1970/1/1.monotonic  display the cpu time from bootup.usec       display time by usec.nsec       display time by nano sec.year       display the year.zone       display the time zone.-b <loglevel>, --baselevel=<loglevel>set loggable level. #24.设置可加载级别Types, levels, domains, tags support exclusion query.Exclusion query can be done with parameters starting with "^" and delimiter ",".Example: "-t ^core,app" excludes logs with types core and app.Could be used along with other parameters.

参考资料

hilog

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/74303.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NVIDIA nvmath-python:高性能数学库的Python接口

NVIDIA nvmath-python&#xff1a;高性能数学库的Python接口 NVIDIA nvmath-python是一个高性能数学库的Python绑定&#xff0c;它为Python开发者提供了访问NVIDIA优化数学算法的能力。这个库特别适合需要高性能计算的科学计算、机器学习和数据分析应用。 文章目录 NVIDIA nv…

【euclid】20 2D包围盒模块(box2d.rs)

box2d.rs文件定义了一个二维轴对齐矩形&#xff08;Box2D&#xff09;&#xff0c;使用最小和最大坐标来表示。矩形在坐标类型&#xff08;T&#xff09;和单位&#xff08;U&#xff09;上是泛型的。代码提供了多种方法来操作和查询矩形&#xff0c;包括求交集、并集、平移、缩…

ChatTTS 开源文本转语音模型本地部署 API 使用和搭建 WebUI 界面

ChatTTS&#xff08;Chat Text To Speech&#xff09;&#xff0c;专为对话场景设计的文本生成语音(TTS)模型&#xff0c;适用于大型语言模型(LLM)助手的对话任务&#xff0c;以及诸如对话式音频和视频介绍等应用。支持中文和英文&#xff0c;还可以穿插笑声、说话间的停顿、以…

链表相关知识总结

1、数据结构 基本概念&#xff1a; 数据项&#xff1a;一个数据元素可以由若干个数据项组成数据对象&#xff1a;有相同性质的数据元素的集合&#xff0c;是数据的子集数据结构&#xff1a;是相互之间存在一种或多种特定关系的数据元素的集合 逻辑结构和物理结构&#xff1a…

蓝桥杯备考-》单词接龙

很明显&#xff0c;这道题是可以用DFS来做的&#xff0c;我们直接暴力搜索&#xff0c;但是这里有很多点是我们需要注意的。 1.我们如何确定两个单词能接上&#xff1f; 比如touch和choose 应该合成为touchoose 就是这样两个单词&#xff0c;我们让一个指针指着第一个字符串…

C语言-访问者模式详解与实践

C语言访问者模式详解与实践 - 传感器数据处理系统 1. 什么是访问者模式&#xff1f; 在嵌入式系统中&#xff0c;我们经常需要对不同传感器的数据进行多种处理&#xff0c;如数据校准、过滤、存储等。访问者模式允许我们在不修改传感器代码的情况下&#xff0c;添加新的数据处…

(UI自动化测试web端)第二篇:元素定位的方法_xpath路径定位

1、第一种xpath路径定位&#xff1a; 绝对路径&#xff1a;表达式是以 /html开头&#xff0c;元素的层级之间是以 / 分隔相同层级的元素可以使用下标&#xff0c;下标是从1开始的需要列出元素所经过的所有层级元素&#xff0c;工作当中一般不使用绝对路径 例&#xff1a;/html/…

设置GeoJSONVectorTileLayer中的line填充图片

设置GeoJSONVectorTileLayer中的line填充图片 关键&#xff1a;linePatternFile const style [{filter: true,renderPlugin: {dataConfig: {type: "line",},type: "line",},symbol: {linePatternFile: "http://examples.maptalks.com/resources/pat…

electron框架(4.0)electron-builde和electron Forge的打包方式

----使用electron-builder打包&#xff08;需要魔法&#xff09; --安装electron-builder: npm install electron-builder -D--package.json中进行相关配置&#xff1a; {"name": "video-tools","version": "1.0.0","main&quo…

让 MGR 不从 Primary 的节点克隆数据?

问题 MGR 中&#xff0c;新节点在加入时&#xff0c;为了与组内其它节点的数据保持一致&#xff0c;它会首先经历一个分布式恢复阶段。在这个阶段&#xff0c;新节点会随机选择组内一个节点&#xff08;Donor&#xff09;来同步差异数据。 在 MySQL 8.0.17 之前&#xff0c;同…

第三十二篇 深入解析Kimball维度建模:构建企业级数据仓库的完整框架

目录 一、维度建模设计原则深度剖析1.1 业务过程驱动设计1.2 星型模式VS雪花模式 二、维度建模五步法实战&#xff08;附完整案例&#xff09;2.1 业务需求映射2.2 模型详细设计2.3 缓慢变化维处理 三、高级建模技术解析3.1 渐变维度桥接表3.2 快照事实表设计 四、性能优化体系…

IntelliJ IDEA 中 Maven 的 `pom.xml` 变灰带横线?一文详解解决方法

前言 在使用 IntelliJ IDEA 进行 Java 开发时&#xff0c;如果你发现项目的 pom.xml 文件突然变成灰色并带有删除线&#xff0c;这可能是 Maven 的配置或项目结构出现了问题。 一、问题现象与原因分析 现象描述 文件变灰&#xff1a;pom.xml 在项目资源管理器中显示为灰色。…

缓存过期时间之逻辑过期

1. 物理不过期&#xff08;Physical Non-Expiration&#xff09; 定义&#xff1a;在Redis中不设置EXPIRE时间&#xff0c;缓存键永久存在&#xff08;除非主动删除或内存淘汰&#xff09;。目的&#xff1a;彻底规避因缓存自动过期导致的击穿&#xff08;单热点失效&#xff…

基于WebAssembly的浏览器密码套件

目录 一、前言二、WebAssembly与浏览器密码套件2.1 WebAssembly技术概述2.2 浏览器密码套件的需求三、系统设计思路与架构3.1 核心模块3.2 系统整体架构图四、核心数学公式与算法证明4.1 AES-GCM加解密公式4.2 SHA-256哈希函数五、异步任务调度与GPU加速设计5.1 异步任务调度5.…

Qt的内存管理机制

在Qt中&#xff0c;显式使用new创建的对象通常不需要显式调用delete来释放内存&#xff0c;这是因为Qt提供了一种基于对象树(Object Tree)和父子关系(Parent-Child Relationship)的内存管理机制。这种机制可以自动管理对象的生命周期&#xff0c;确保在适当的时候释放内存&…

数据结构之双向链表-初始化链表-头插法-遍历链表-获取尾部结点-尾插法-指定位置插入-删除节点-释放链表——完整代码

数据结构之双向链表-初始化链表-头插法-遍历链表-获取尾部结点-尾插法-指定位置插入-删除节点-释放链表——完整代码 #include <stdio.h> #include <stdlib.h>typedef int ElemType;typedef struct node{ElemType data;struct node *next, *prev; }Node;//初化链表…

【Linux网络-五种IO模型与阻塞IO】

一、引入 网络通信的本质就是进程间的通信&#xff0c;进程间通信的本质就是IO&#xff08;Input&#xff0c;Output&#xff09; I/O&#xff08;input/output&#xff09;也就是输入和输出&#xff0c;在冯诺依曼体系结构当中&#xff0c;将数据从输入设备拷贝到内存就叫作…

算法-最大公约数

1、约数&#xff1a; 1.1 试除法求约数 原理&#xff1a;只需要遍历最小的约数即可&#xff0c;较大的那个可以直接算出来。 import java.util.*; public class Main {static Scanner sc new Scanner(System.in);public static void main(String[] args) {int t sc.nextIn…

湖北楚大夫

品牌出海已成为众多企业拓展业务、提升竞争力的关键战略。楚大夫(chudafu.com)作为一家专注于品牌出海、海外网络营销推广以及外贸独立站搭建的公司&#xff0c;凭借其专业、高效、创新的服务模式&#xff0c;致力于成为中国企业走向国际市场的坚实后盾与得力伙伴。楚大夫通过综…

Flutter 学习之旅 之 flutter 使用 connectivity_plus 进行网路状态监听(断网/网络恢复事件监听)

Flutter 学习之旅 之 flutter 使用 connectivity_plus 进行网路状态监听&#xff08;断网/网络恢复事件监听&#xff09; 目录 Flutter 学习之旅 之 flutter 使用 connectivity_plus 进行网路状态监听&#xff08;断网/网络恢复事件监听&#xff09; 一、简单介绍 二、conne…