我昨天安装了Android Studio,我尝试使用LogCat查看日志.但是在logcat中没有任何东西可以显示.我使用终端运行./adb logcat它的工作原理.  
是否有人可以向我解释如何在Android Studio中使用logcat?
如何为Java输出着色?
例如在C语言和其他语言中,我可以使用ANSI-escape \033[0m来执行此操作.但在Java中它不起作用.
public static void main(String[] x) {
    System.out.println("\033[0m BLABLA \033[0m\n");
}
有没有办法在eclipse控制台中着色部分日志.我知道我可以发送错误和标准流并对它们进行不同的着色,但我更喜欢ANSI转义代码(或任何其他,HTML?)的行,我可以在字符串中嵌入颜色以使其在日志.
它确实有助于使重要的部分脱颖而出而不依赖于奇怪的布局,而是将布局保持为log4j设置
这是我正在寻找的一个例子:
[INFO]网格完整....... false
在粗体部分为蓝色的情况下,这种着色可以通过应用程序在一定程度上控制.像这样(标签是概念性的和任意的,但你明白了):
log.info(String.format("网格完整....... <blue>%s </blue>",isComplete));
更一般地说,它是在日志中嵌入元信息以帮助显示这些日志的能力.就像我们标记网页内容以帮助通过CSS呈现信息一样.
我在其他语言中看到了一些与此相关的问题,并对此进行了相当多的研究.首先,在我们开始走下兔洞之前,我必须说明我为什么这样做.我正在打印一个二叉树,我找到了一种方法来做到这一点,我认为没有其他人找到它(在网上的任何地方找不到它我永远搜索过).它解决了很多与间距和冲突有关的问题,我可能会在以后提供它作为Prettyprint Btree问题的答案.无论如何,执行上述操作的一个重要部分是能够将换行符(光标)向上移动一行.我也会安排将一个回车移动一行.
我已经对这个名为"编辑1-3"的问题进行了三次编辑.
我的特定Windows版本(可能相关):Windows 10 v1607操作系统版本:14393.2035
问题是使用ANSI转义字符很容易完成
ANSI转义码:https://en.wikipedia.org/wiki/ANSI_escape_code
使用"\ 033 [A"是我想要实现的特定代码(从有关在python中移动一行的问题得到它).
所以问题解决了吗?哦不,甚至不接近.该问题是,显然窗户上挂着这个""" 精彩 '’"更新,可能有破产一切ANSI /控制台有关.下面链接到有关此问题,但具有不同的ANSI要求,但根本问题是相同的.
如何使用System.out.println在控制台中打印颜色?
tl:dr由于某些原因它不适用于Windows,你需要一个大型库来执行此操作或其他操作.
Sooo然后我尝试对更新本身做一些深入的研究,为什么这恰好是特定于Windows的(当然),我被引导到了这一点.
Windows问题的根本原因:https://github.com/Microsoft/WSL/issues/1173
tl; dr:基本上,更新更改了cmd.exe的默认设置,cmd.exe是java使用的默认控制台.更改的是如何为'子应用程序'AKA java处理ANSI代码的控制台设置(使用控制台但不是控制台本身的东西).默认值在更新之前,子应用程序继承了启用ANSI的默认控制台.现在(因为显然以前的默认设置破坏了东西)他们改变了它,以便子应用程序不从控制台继承默认设置.这意味着如果java想要启用ANSI,java必须自己有效地设置此控制台模式.显然有大量的libary用于java命令,但是有很多可用的库存有一些问题.首先他们需要maven,我不想要maven,我也不喜欢 喜欢需要一百万个额外的库来做一些非常简单的事情,它增加了我的代码依赖的东西(这很糟糕).所以我试图避免像"只使用JANSI"这样的简单解决方案setConsoleMode 对于ANSI.
在我完成阅读/理解后,我尝试进入我的注册表编辑器并尝试更改控制台的默认设置(cmd.exe),以便始终为子应用程序启用ANSI(AKA java).有人在github讨论中提出过建议,但令我惊讶的是,具体设置对我来说并不存在.(它应该在计算机 - > HKEY_CUURENT_USER - >"TrimLeadingZeros"和"WindowAlpha"之间的控制台中).
由于我无法编辑控制台设置而没有大型库充满了我不想要的东西,我尝试在盒子外面思考并且在java设置中搞砸了.我发现java确切地设置了它的控制台,并发现我可以更改该设置以在java中使用不同的控制台.我最近安装了git,并且知道git bash可用,所以我尝试使用下面的问题(以及谷歌一般)作为起点.
https://superuser.com/questions/1196463/start-sh-exe-bash-with-given-path
我无法找到合适的工作.它没有返回任何错误或做任何新的事情,就像所有.它甚至被设置为'当前项目',所以当我运行我的项目时,它应该做些不同的事情吗?我相信问题的一部分是我的根git文件夹是搞乱的(不在程序文件中).这可能是因为我使用的计算机是一台工作计算机,也许某些设置会影响安装git的位置,我不知道但我知道的是当我更改控制台时我尝试了这条路径:
C:\ Users \用户abbotts1 \应用程序数据\本地\程序\的Git\BIN\bash.exe
我也尝试过:
C:\ Users \用户abbotts1 \应用程序数据\本地\程序\的Git\bash.exe
和
C:\ Users \用户abbotts1 \应用程序数据\本地\程序\的Git\BIN\sh.exe
和
"C:\ Users\abbotts1\AppData\Local\Programs\Git\bin\sh.exe"--login -i
每次更改控制台后我都试过这段代码:
public class ExpressionEvaluator {
    public static void main(String[] args) {
        System.out.println("1"); …有谁知道我将如何设置将使用打印的字符串的颜色System.out?
这是我目前的代码:
System.out.println("TEXT THAT NEEDS TO BE A DIFFERENT COLOR.");
我想知道是否有一些东西让我设置我用Java输出到控制台的文本的颜色.它是否是系统特定的并不重要,因为该程序只能在我的Windows 7 x64笔记本电脑上运行.
这个问题:改变了几周前java eclipse控制台中的颜色并且有一个很好的解决方案(由@VonC)来解决类似的问题,但它只解决了eclipse中的问题.
如果我从命令行执行我的程序可以达到同样的效果吗?如果是这样怎么样?
我一直在寻找一种方法来更改Eclipse中java.util.logging.Logger的日志输出颜色。因为我还没有真正找到解决颜色变化并将其与Logger类结合的解决方案,所以我想在这里记录我的解决方案。
我正在尝试为我的java游戏输出彩色输出,该游戏仅使用终端,我想输出彩色的东西,但使用RGB值或十六进制颜色使用精确的颜色我该怎么办我已经看到了类似的颜色
“\u001B[0米”
但多样性不够,我该怎么办?
vt100 转义码是一种强大且流行的方法,用于在 xterm 或 konsole 等虚拟终端上格式化输出(颜色、定位、闪烁、下划线等)。请参阅https://en.wikipedia.org/wiki/ANSI_escape_code
\n\n当您在 xterm、konsole 等中运行 java 程序以及System.out.print此类代码时 - 例如
// print "Hello, World!" in red\nSystem.out.print("\\u001b[31mHello, World!");\njava 将它们原封不动地传递到终端,因此这些终端会解释这些代码并按照您期望的方式运行。
\n\nJava 程序应该是独立于平台的,但是当您从 Windows 命令提示符运行这样的程序时,您将看到打印出来的代码,如下所示:
\n\n\xe2\x98\x90[31mHello, World!\n在寻找解决这个问题的方法之后,我找不到简单的解决方案,甚至找不到有关该主题的讨论。大多数解决方案依赖于在不同的控制台应用程序中运行您的程序或将基于 java 的自定义控制台包含到您的程序中。
\n\n那么 - 如何在 Windows 默认命令提示符中轻松使用 vt100 格式的文本?
\n