⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 colorconsoleappender.java

📁 sea是一个基于seda模式的实现。这个设计模式将系统分为很多stage。每个stage分布不同的任务(基于线程池)。通过任务流的方式提高系统的效率。
💻 JAVA
字号:
/* * Copyright (c) 2003, The Regents of the University of California, through * Lawrence Berkeley National Laboratory (subject to receipt of any required * approvals from the U.S. Dept. of Energy). All rights reserved. */package gov.lbl.dsd.sea.nio.util;import org.apache.log4j.ConsoleAppender;import org.apache.log4j.Layout;import org.apache.log4j.Level;import org.apache.log4j.spi.LoggingEvent;/** * Log4J Appender which prints to System.out and shows different log levels in * different colors; very useful for effectively sieving through large number of * log messages. Colors are used only on Unix, and ignored on Windows because we * don't know how to do it. (If it's possible and you know how, submit a * patch!); If you wish to use this appender let log4j know about it by adding * "log4j.appender.CONSOLE=gov.lbl.dsd.sea.nio.util.ColorConsoleAppender" to the * log4j.properties file. *  * @author whoschek@lbl.gov * @author $Author: hoschek3 $ * @version $Revision: 1.1 $, $Date: 2004/06/17 18:34:39 $ */public class ColorConsoleAppender extends ConsoleAppender {	private static final char ESCAPE = 033;	private static final String UNESCAPE = "[m";	private static final String REVERSE = "[7m";	private static final String BLACK = "[30m";	private static final String RED = "[31m";	private static final String GREEN = "[32m";	private static final String YELLOW = "[33m";	private static final String BLUE = "[34m";	private static final String PURPLE = "[35m";	private static final String CYAN = "[36m";	private static final String SILVER = "[37m";	private static final String WHITE = "[38m";			private static final boolean isWindows = System.getProperty("os.name").startsWith("Windows");	// overridden	protected void subAppend(LoggingEvent event) {		this.qw.write(formatEvent(event));		if (layout.ignoresThrowable()) {			String[] s = event.getThrowableStrRep();			if (s != null) {				int len = s.length;				for (int i = 0; i < len; i++) {					if (!isWindows) {						this.qw.write(toColorString(event.getLevel()).toString());											}					this.qw.write(s[i]);					if (!isWindows) {						this.qw.write(ESCAPE + UNESCAPE);											}					this.qw.write(Layout.LINE_SEP);				}			}		}		if (this.immediateFlush) {			this.qw.flush();		}	}	protected String formatEvent(LoggingEvent event) {		String toPrint = this.layout.format(event);		if (isWindows) {			return toPrint;		} 		else {			StringBuffer s = this.toColorString(event.getLevel());						//remove newline			s.append(toPrint.substring(0, toPrint.length() - 1));			// reset colors			s.append(ESCAPE).append(UNESCAPE);						s.append(Layout.LINE_SEP);			return s.toString();		}	}	protected StringBuffer toColorString(Level level) {		StringBuffer s = new StringBuffer(2);		s.append(ESCAPE);				switch (level.toInt()) {			case Level.ERROR_INT:				s.append(RED);				break;			case Level.WARN_INT:				s.append(PURPLE);				break;			case Level.INFO_INT:				s.append(GREEN);				break;			case Level.FATAL_INT:				s.append(RED).append(ESCAPE).append(REVERSE);				break;			case Level.DEBUG_INT:				s.append(BLUE);				break;			default:				s.append(CYAN);				break;		}		return s;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -