鉴于以下主要内容:
public static void main(String[] args) {
System.out.println("System.out.println");
Logger.getGlobal().setLevel(Level.INFO);
Logger.getGlobal().log(Level.INFO, "Logger.INFO");
}
我得到以下输出:
如果有办法为Logger获得更好的输出?我更喜欢单行输出和连贯的颜色突出显示(SEVERE =红色,INFO =绿色,......基本上像Android的logcat)。
由于
答案 0 :(得分:1)
我使用eclipse插件grepConsole
使用smple正则表达式,您可以更改整行的(前景|背景)颜色,或者只为该行的每一组使用不同的颜色。
答案 1 :(得分:0)
java系统只实现两个输出流,System.err和System.out流。后者总是黑色,前者的输出在大多数IDE中总是显示为红色。基本上,您无法轻松设置此输出的颜色。
为了更改颜色...我想你必须在终端/ windows控制台中运行它并使用文本中编码的(本机)颜色代码,否则你可以创建一个eclipse的新插件(或者可能搜索其他现有的插件?)会以不同的方式呈现您的输出。我至少很确定没有简单的解决方案。
答案 2 :(得分:0)
您不会在日志文件中获得颜色,因为它是纯文本。 日志查看器(如@Cqnqrd所述)可以添加颜色。
查看slf4j和/或logback。两者似乎都比你的技术更好。
示例代码:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Blam
{
private static final Logger = LoggerFactory.getLogger(Blam.class);
public void hooty()
{
logger.info("some {}", "example");
logger.info("logging {} with {} parameters",
"statements",
2);
}
}
输出:
some example
logging statements with 2 parameters
{}的值是只有info才能替换参数 (在此示例中)启用了级别日志记录。
答案 3 :(得分:0)
public class LogHandler extends ConsoleHandler {
public LogHandler() {
setOutputStream(System.out);
}
}
LogHandler handler = new LogHandler();
handler.setFormatter(new LogFormatter());
Logger logger = Logger.getAnonymousLogger();
logger.setUseParentHandlers(false);
logger.addHandler(handler);
LogRecord record = new LogRecord(Level.INFO, "This is just a test");
logger.log(record);