Logcat中显示的时间

use*_*274 42 time android android-logcat

我需要以hh:mm:ss:SS格式获取Android设备时间戳.我能够查看Eclipse Logcat中显示的时间.这是计算机的时间还是Android设备的时间?

bri*_*tey 88

logcat文档中可以看到,有一个选项可以指定输出的格式(-v).

要获取时间戳,可以使用该命令

logcat -v time
Run Code Online (Sandbox Code Playgroud)

这将为每条消息添加时间戳前缀.


AAn*_*kit 18

adb logcat -v threadtime 在终端中使用从设备获取日志,它将包括日期和时间.

如果要将这些日志重定向到文本文件,请使用终端中的命令.

 adb logcat -v threadtime > folder_path_in_the_computer/filename.txt
Run Code Online (Sandbox Code Playgroud)


小智 8

如果您在Android设备上运行您的应用程序,那么它将打印设备的时间,如果在模拟器上,它将显示计算机的时间.

为了确保只需将日志的时间与设备的时间相匹配,您可以通过计算机的时间找到答案.

  • 至少从 Android 5.x 开始,情况不再如此。 (2认同)

Jos*_*ter 5

使用longthreadtimetime格式,logcat -v <format>

logcat有许多格式选项,可以-v在命令行中将其传递给标志。您可以在此处查看文档中的所有格式。

以下是每个选项的样例,因此您可以决定哪个选项适合您的需求:


brief

显示发出消息的进程的优先级,标签和PID。

D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)
D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)
Run Code Online (Sandbox Code Playgroud)

long

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

(我最喜欢这个,但是我很喜欢空白。)

[ 01-27 13:17:07.703  1222: 1222 D/StatusBar.NetworkController ]
refreshNwBoosterIndicator - setNWBoosterIndicators(false)

[ 01-27 13:17:07.703  1222: 1222 D/StatusBar.NetworkController ]
refreshNwBoosterIndicator - setNWBoosterIndicators(false)
Run Code Online (Sandbox Code Playgroud)

process

仅显示PID。

D( 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false)  (StatusBar.NetworkController)
D( 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false)  (StatusBar.NetworkController)
Run Code Online (Sandbox Code Playgroud)

raw

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

refreshNwBoosterIndicator - setNWBoosterIndicators(false)
refreshNwBoosterIndicator - setNWBoosterIndicators(false)
Run Code Online (Sandbox Code Playgroud)

tag

仅显示优先级和标签。

D/StatusBar.NetworkController: refreshNwBoosterIndicator - setNWBoosterIndicators(false)
D/StatusBar.NetworkController: refreshNwBoosterIndicator - setNWBoosterIndicators(false)
Run Code Online (Sandbox Code Playgroud)

thread

一种传统格式,显示发出消息的线程的优先级,PID和TID。

D( 1222: 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false)
D( 1222: 1222) refreshNwBoosterIndicator - setNWBoosterIndicators(false)
Run Code Online (Sandbox Code Playgroud)

threadtime

显示发布消息的线程的日期,调用时间,优先级,标签,PID和TID。

(文档说这是默认设置,但在我的情况下不是真的。)

01-27 13:17:07.703  1222  1222 D StatusBar.NetworkController: refreshNwBoosterIndicator - setNWBoosterIndicators(false)
01-27 13:17:07.703  1222  1222 D StatusBar.NetworkController: refreshNwBoosterIndicator - setNWBoosterIndicators(false)
Run Code Online (Sandbox Code Playgroud)

time

显示发布消息的过程的日期,调用时间,优先级,标签和PID。

01-27 13:17:07.703 D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)
01-27 13:17:07.703 D/StatusBar.NetworkController( 1222): refreshNwBoosterIndicator - setNWBoosterIndicators(false)
Run Code Online (Sandbox Code Playgroud)

注:如果您使用此应用程式中程序收集您的用户的设备日志发送给您的支持团队或什么的,你需要省略之间的空间-vformat,就像这样:

commandLine.add( "-vlong" )
Run Code Online (Sandbox Code Playgroud)

不知道为什么会这样,但是希望可以节省一些时间来解决这个问题。