日志组件系列:(5)让Eclipse/MyEclipse的控制台的log4j日志支持多种颜色


最终实现的效果如下:

1、知识准备

我们要谈到一个概念“ANSI escape sequences”,它是什么,究竟有什么作用呢?“ANSI escape sequences”就是嵌入到文本中的“特殊字符”,用来控制文本的格式和颜色。

ANSI escape sequences are characters embedded in the text used to control formatting, color, and other output options on video text terminals. 

举例来说,

(1)普通输出

$ echo "Hello World"

会输出Hello World文本,

(2)使用“ANSI escape sequences”输出

$ echo -e "\033[34m   Hello Colorful  World!"

会输出一个带有颜色的文本。

接下来,我们的关注重点是下面这段文本的含义

"\033[34m   Hello Colorful  World!"

(1)首先,\033[34m 是ANSI escape sequence

(2)接着,\033是escape character,如果查看ASCII码,会发现033表示 ESC(escape)

(3)再接着,34m表则示设置前景色(foreground color)

(4)最后打印出文本信息 Hello Colorful World

因此,它的语法应该是

"\033[escape-code    your-message"

参考:

ANSI escape sequences

http://lishicongli.blog.163.com/blog/static/14682590201132151848668/

$ echo -e "\033[34m   Hello Colorful  World!"
Hello Colorful  World!

      Above echo statement uses ANSI escape sequence (\033[34m), above entire string ( i.e. "\033[34m   Hello Colorful  World!" ) is process as follows

1) First \033, is escape character, which causes to take some action
2) Here it set screen foreground color to Blue using [34m escape code.
3) Then it prints our normal message Hello Colorful  World! in blue color.

2、实践

上面我们讲到了ANSI escape sequence,但是Eclipse的控制台并不支持ANSI escape sequence。

The Eclipse console does not support ANSI escape sequences.

为了让Eclipse支持ANSI escape sequence,需要引入一个插件:ANSI Escape in Console。

Eclipse plugin – ANSI Escape in Console

http://mihai-nita.net/2013/06/03/eclipse-plugin-ansi-in-console/

This Eclipse plugin interprets the ANSI escape sequences to color the console output.
This can be pretty handy when using something like jansi

开发步骤

(1)安装ANSI Escape in Console。

(2)下载组件,添加jar包。

(3)配置

(4)使用API

2.1、安装ANSI Escape in Console

Help-->Eclipse Marketplace...

搜索ANSI Escape in Console,进行安装

安装成功后,重启IDE,打开Window-->Preferences查看。

在Preferences窗口的左侧,如果发现Ansi_Console,则表示安装成功。

2.2、下载组件,添加jar包

jar包 下载地址
color-loggers-1.0.4.1.jar
https://github.com/mihnita/java-color-loggers/releases/download/v1.0.4.1/color-loggers-1.0.4.1.jar


slf4j-api-1.7.21.jar

slf4j-log4j12-1.7.21.jar

log4j-1.2.17.jar


http://www.slf4j.org/download.html

http://logging.apache.org/log4j/1.2/download.html

参考

java-color-loggers

https://github.com/mihnita/java-color-loggers

Color console logging for log4j and jdk

2.3、配置

在src目录下添加log4j.properties文件

log4j.rootLogger=debug, console, file

log4j.appender.console=com.colorlog.log4j.AnsiColorConsoleAppender
log4j.appender.console.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.console.layout.ConversionPattern=%d %p %c.%M() -%m%n
log4j.appender.console.FatalColour={esc}[1;35m
log4j.appender.console.ErrorColour={esc}[0;31m
log4j.appender.console.WarnColour ={esc}[0;33m
log4j.appender.console.InfoColour ={esc}[0;30m
log4j.appender.console.DebugColour={esc}[0;32m
log4j.appender.console.TraceColour={esc}[1;30m

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File= ./logs/MyLog.log
log4j.appender.file.MaxFileSize=5KB
log4j.appender.file.MaxBackupIndex=100
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %p %c.%M() -%m%n

2.4、使用API

package com.rk.test;

import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class HelloWorld {
	@Test
	public void test()
	{
		Logger logger = LoggerFactory.getLogger(HelloWorld.class);
		logger.debug("debug信息");
		logger.info("info信息");
		logger.warn("warn信息");
		logger.error("error信息");
	}
}

输出


参考地址

让Eclipse/MyEclipse的控制台和log4j日志支持多种颜色

http://blog.csdn.net/javawinner/article/details/41548259


参考

ANSI escape sequence

http://ascii-table.com/ansi-escape-sequences.php


Esc[Value;...;Valuem


Set Graphics Mode:
Calls the graphics functions specified by the following values. These specified functions remain active until the next occurrence of this escape sequence. Graphics mode changes the colors and attributes of text (such as bold and underline) displayed on the screen.

Foreground colors

30    Black

31    Red

32    Green

33    Yellow

34    Blue

35    Magenta

36    Cyan

37    White

Background colors

40    Black

41    Red

42    Green

43    Yellow

44    Blue

45    Magenta

46    Cyan

47    White

Parameters 30 through 47 meet the ISO 6429 standard.

Parameters 30 through 47 meet the ISO 6429 standard.

时间: 2024-08-26 13:57:58

日志组件系列:(5)让Eclipse/MyEclipse的控制台的log4j日志支持多种颜色的相关文章

日志组件系列:(2)commons logging和log4j实战

(1).下载组件,引入jar包 (2).配置 (3).使用API 1.下载组件,引入jar包 jar包 下载地址 log4j-1.2.17.jar http://logging.apache.org/log4j/1.2/ commons-logging-1.2.jar http://commons.apache.org/proper/commons-logging/download_logging.cgi 2.配置 在项目的src目录下添加log4j.properties文件,配置如下: log

日志组件系列:(4)SLF4J和log4j实战

参考: Simple Logging Facade for Java (SLF4J) http://www.slf4j.org/ SLF4J user manual http://www.slf4j.org/manual.html SLF4J warning or error messages and their meanings http://www.slf4j.org/codes.html (1)下载组件,添加jar包 (2)配置 (3)使用API 1.下载组件,添加jar包 组件名称 ja

Spket在Eclipse/MyEclipse下的安装和配置支持Ext(图文教程)

一.安装Spket 第一种方法:网上更新方式 1.插件首页:http://www.spket.com2.插件名称:Spket IDE3.更新连接(Update Site):http://www.spket.com/update/ 更新安装方法: 1.[Help]-[Software Updates]-[Find and Install...] 2.[Search for new features to install] -> [Next] 3.[New Remote Site...] Name:

eclipse中纯java配置log4j日志

1.新建java项目log4Test 2.新建目录lib,把log4j-1.2.9.jar包放入lib目录 3.右键工程,选择Properties->Java Build Path->Libraries->Add JARs...,选择lib下的log4j-1.2.9.jar 4.在src目录下新建两个文件log4j.properties和log.txt log4j.properties文件配置如下: log4j.appender.stdout.layout.ConversionPatte

细说java平台日志组件

1. java.util.loggingJDK自带日志组件,使用方式简单,不需要依赖第三方日志组件.支持将日志打印到控制台,文件,甚至可以将日志通过网络打印到指定主机.相对于第三方独立日志框架来说,支持的日志级别比较少,功能也比较单一. 2. apache commons logginghttps://commons.apache.org/proper/commons-logging/index.htmlApache Commons Logging简称JCL.JCL提供了一个轻量级的日志抽象,为

Log4Net日志组件使用

                                               Log4Net日志组件使用 概要:LogNet是一套开源的程序日志记录系统,经过配置后可以自动抓取程序中的错误.异常信息,并写入磁盘,也可以在异常发生时执行其他指定的操作 新建一个类库:Logger,封装一个LogHelper.cs using System; using System.Collections.Generic; using System.Linq; using System.Text;

玩转ASP.NET Core中的日志组件

玩转ASP.NET Core中的日志组件简介日志组件,作为程序员使用频率最高的组件,给程序员开发调试程序提供了必要的信息.ASP.NET Core中内置了一个通用日志接口ILogger,并实现了多种内置的日志提供器,例如 ConsoleDebugEventSourceEventLogTraceSourceAzure App Service除了内置的日志提供器,ASP.NET Core还支持了多种第三方日志工具,例如 elmah.ioGelfJSNLogKissLog.netLoggrNLogSe

springboot配置Log4j日志

目录 Pom.xml添加依赖 在控制器记录日志 使用AOP统一处理Web请求日志 导入AOP依赖 写一个切面类 @(springboot配置Log4j日志) 首先要导入log4j属性文件 Log4j.properties 在resources文件夹下导入log4j.properties文件,复制下面的内容时,每行后面如果有空格的话一定要去掉,log4j.appender.File.File为log日志存放的路径. log4j.rootLogger=INFO,Console,File log4j.

C#组件系列———又一款日志组件:Elmah的学习和分享

前言:好久没动笔了,都有点生疏,12月都要接近尾声,可是这月连一篇的产出都没有,不能坏了“规矩”,今天还是来写一篇.最近个把月确实很忙,不过每天早上还是会抽空来园子里逛逛.一如既往,园子里每年这个时候都有大把的年终总结.回忆过去展望未来之类的文章.博主是没时间写总结了,要学的东西太多.关于Vue的系列一定要抽时间补上.最近刚用了一个日志组件Elmah,比较适合开发阶段异常信息的快速定位与追溯,有兴趣的跟着博主一起来看看吧. 本文原创地址:http://www.cnblogs.com/landea