什么是pidcat
在Android日常开发中,对日志过滤是很有必要的,但是我们在终端过滤日志的时候因为日志信息过多而看的眼花缭乱,而且很多时候,我们只想过滤我们自己应用进程的日志,但是当我们的进程重启后,pid就变了,这时又需要重新获取进程pid,然后过滤,如果我们想看两个或多个进程的日志就更麻烦,于是就产生了pidcat。
先上图看看效果
$pidcat toor
如何使用
$pidcat --help
A logcat colored command which displays only source entries for processes of a specific application package.
Usage: pidcat [OPTIONS] [process]...
Arguments:
[process]...
Name of the process to be filtered
Options:
-t, --tag <tag>
The tag filter patterns
--tag-width <tag_width>
Set the tag show width. must >= 10
[default: 20]
-v, --revert-match <revert>
Selected lines are those not matching any of the specified patterns.
-b, --buffer <buffer>
The buffer to filter
[default: main system]
[possible values: main, system, crash, radio, events, all]
-c, --clear
Clear (flush) the entire log and exit
-l, --level <level>
Filter log level
[default: V]
Possible values:
- V: Verbose
- D: Debug
- I: Info
- W: Warning
- E: Error
- F: Fatal
-o, --output <output>
Writing logs to a file
--color <color>
Display in highlighted color to match priority
[default: auto]
[possible values: auto, always, never]
-i, --ignore-case
Ignore case
-s <device>
Use device with given serial
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version
其中tag和revert都支持正则,如下命令可以过滤两个tag的日志
pidcat -t "ActivityManager|Debug"
两种安装方式
通过源码安装
这种方式适合所有操作系统
- 安装rust开发环境
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- 下载源码
git clone https://github.com/borneygit/pidcat.git
cd pidcat
- 安装
cargo install --path .
mac系统通过brew安装
brew tap borneygit/brew
brew install borneygit/brew/pidcat
项目是使用rust编写的,开放了获取adb logcat日志的接口可以在你的crate中直接使用。
在Rust项目的Cargo.toml中加入依赖
pidcat="0.2.1"
使用如下代码就可以获得处理封装好的android 终端日志了
use futures::StreamExt;
use pidcat::LogStream;
use pidcat::source::*;
#[tokio::main]
async fn main() {
let source = ADBSource::new(None);
let mut logs: LogStream = source.source().await;
while let Some(r) = logs.next().await {
if let Ok(log) = r {
println!("{}", log);
}
}
}
标签:--,过滤,tag,source,pidcat,Android,日志
From: https://blog.51cto.com/u_16175637/6591903