linux打印日志

人气:371 ℃/2022-12-25 23:05:03

linux怎么打印显示日志?我们一起来了解一下吧。

1、打开linux系统,在linux的桌面的空白处右击。

2、在弹出的下拉选项里,点击打开终端。

3、使用cat filename命令,并回车运行即可显示全部日志内容。

linux打印日志到指定文件方法

2022年2月7日——每日错题汇总-Linux

2月7日,祝大家开工大吉

今天做了10道Linux相关的试题,正确率还可以90%。不过遇到了一个不太会的题,就是选出对logcat 命令描述正确的是。

之前确实不知道logcat命令是啥,印象中Linux没有这个命令啊。

上网搜索学习了一下,原来logcat是Android中一个命令行工具,可以用于得到程序的log信息。

logcat是什么?

Logcat 是一个命令行工具,用于转储系统消息日志,其中包括设备引发错误时的堆叠追踪,以及从您的应用使用 Log类编写的消息。

格式:[adb] logcat [<option>] ... [<filter‐spec>] ...

日志记录系统概览

Android 日志记录系统是系统进程 logd 维护的一组结构化环形缓冲区。这组可用的缓冲区是固定的,并由系统定义。

相关的缓冲区为:

每个日志条目都包含一个优先级(VERBOSE、DEBUG、INFO、WARNING、ERROR 或 FATAL)、一个标识日志来源的标记以及实际的日志消息。

日志记录系统的主接口是共享库 liblog 及其头文件 <android/log.h>。所有语言特定的日志记录工具最终都会调用函数 __android_log_write。默认情况下,它会调用函数 __android_log_logd_logger,该函数使用套接字将日志条目发送到 logd。从 API 级别 30 开始,可以通过调用 __android_set_log_writer 更改日志记录函数。

运行 adb logcat 显示的日志要经过四个级别的过滤:

编译时过滤:根据编译设置,某些日志可能会从二进制文件中完全移除。

例如,可以将 ProGuard 配置为从 Java 代码中移除对 Log.d 的调用。

系统属性过滤:liblog 会查询一组系统属性以确定要发送到 logd 的最低严重级别。如果日志具有 MyApp 标记,系统会检查以下属性,并且日志应包含最低严重级别的第一个字母(V、D、I、W、E 或 S 来停用所有日志):

应用过滤:如果未设置任何属性,liblog 会使用 __android_log_set_minimum_priority 设置的最低优先级。默认设置为 INFO。

显示过滤:adb logcat 支持其他可减少 logd 显示的日志数量的过滤条件。

logcat 命令参数:

-b <buffer> 加载可供查看的备用日志缓冲区,比如event和radio。默认值是main缓存区

-c 清除缓冲区中的全部日志并退出(清除完后可以使用-g查看缓冲区)

-d 将缓冲区的log转存到屏幕中然后退出

-f <filename> 将log输出到指定的文件中<文件名>.默认为标准输出(stdout)

-g 打印指定日志缓冲区的大小并退出。

-n <count> 设置日志的最大数目<count>,默认值是4,需要和-r选项一起使用

-r <kbytes> 每输出<kbytes>日志文件,默认值是16,需要和-f选项一起使用

-s 设置默认的过滤级别为silent.( -s robin:I )

-v <format> 设置日志消息的输出格式。默认值为 brief 格式有关支持的格式列表

logcat缓冲区:adb logcat -b <buffer>

main 查看主要日志缓冲区(默认值)

events 查看包含事件相关消息的缓冲区

radio 查看包含无线装置/电话相关消息的缓冲区

system 查看系统组件的log

logcat日志输出格式:adb logcat -v <format>

brief 显示优先级/标记以及发出消息的进程的 PID(默认格式)

brief 显示优先级/标记,以及发出消息的进程的 PID(默认格式)

process 只显示 PID

tag 显示优先级/标记

raw 显示原始的日志消息,没有其他元数据字段

time 显示日期、调用时间、优先级/标记以及发出消息的进程的 PID

threadtime 显示日期、调用时间、优先级、标记以及发出消息的线程的 PID 和 TID

long 显示所有元数据字段,并使用空白行分隔消息

logcat过滤日志输出:[<filter‐spec>] 格式:tag:priority

V (verbose)— 详细(最低优先级) D (debug)— 调试

I (info)— 信息 W (warning)— 警告

E (error)— 错误 F (fatal)— 致命

S (silent)— 静默(最高优先级,不会打印任何内容)

例: adb logcat ActivityManager:I MyApp:D *:S

最后一个元素 *:S 将所有标记的优先级设为“静默”,从而确保系统仅显示带有“ActivityManager”和“MyApp”标记的日志消息。

使用 *:S 可有效地确保日志输出受限于您已明确指定的过滤器 —它允许过滤器充当日志输出的“白名单”。

推荐

首页/电脑版/网名
© 2025 NiBaKu.Com All Rights Reserved.