Log4j原理java控制台个性化输出加超链接标记

简介: <p>程序员都很懒,你懂的!</p> <p><strong>程序包名</strong>:<span style="color:#FF0000">package com.herman.test;</span></p> <p></p> <pre code_snippet_id="308001" snippet_file_name="blog_20140423_1_3340734" nam

程序员都很懒,你懂的!

程序包名package com.herman.test;

import java.io.File;
import java.io.PrintStream;

/**
 * @see 自定义日志的输出测试
 * @author Herman.Xiong
 * @date 2014年4月22日 14:22:18
 * @version V1.0
 * @since jdk 1.6
 */
public class TestLog {
	//输入到文件
	private static final String OUTPUT_TYPE_FILE="file";
	//输出到控制台
	private static final String OUTPUT_TYPE_CONSOLE="console";
	//输出到控制台位置
	private static final PrintStream OUT;
	private static final PrintStream ERR;
	static{
		OUT=System.out;
		ERR=System.err;
		try {
			//日志输出路径
			System.setOut(new PrintStream(new File(System.getProperty("user.dir")+"\\TestLog.TestLog")));
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	/**
	 * 自定义日志的输出路径
	 */
	public static void test0(){
		System.out.println("自定义日志的输出测试");
		System.out.println("自定义日志的输出路径");
	}
	/**
	 * 输出日志到控制台
	 */
	public static void test1(){
		OUT.println("我输出到控制台");
	}
	/**
	 * 根据日志输出位置输出日志
	 */
	public static void test2(String type){
		if(OUTPUT_TYPE_FILE.equals(type)){
			System.out.println("根据日志输出位置输出日志");
		}else if(OUTPUT_TYPE_CONSOLE.equals(type)){
			OUT.println("根据日志输出位置输出日志");
		}
	}
	/**
	 * 输出到控制台并且字体为红色
	 */
	public static void test3(){
		ERR.println("输出到控制台并且字体为红色");
	}
	/**
	 * 输出到控制台加追踪记录(追踪元素)
	 */
	public static void test4(){
		StackTraceElement[] traces = new Throwable().getStackTrace();  
        for (int i=0; i < traces.length; i++){
            ERR.println("" + traces[i]);
        }
	}
	public static void main(String[] args) {
		//测试输出到文件
		test0();
		
		//测试输出到控制台
		test1();
		
		//测试输出目标为控制台和文件
		test2(OUTPUT_TYPE_FILE);
		test2(OUTPUT_TYPE_CONSOLE);
		
		//输出到控制台并且字体为红色
		test3();
		
		test4();
	}
}

更多功能,请 点击下载demo    下载地址: http://download.csdn.net/detail/xmt1139057136/7234033

欢迎大家关注我的博客!如有疑问请加QQ群:135430763

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
17天前
|
Java 调度
Java并发编程:深入理解线程池的原理与实践
【4月更文挑战第6天】本文将深入探讨Java并发编程中的重要概念——线程池。我们将从线程池的基本原理入手,逐步解析其工作过程,以及如何在实际开发中合理使用线程池以提高程序性能。同时,我们还将关注线程池的一些高级特性,如自定义线程工厂、拒绝策略等,以帮助读者更好地掌握线程池的使用技巧。
|
22天前
|
Java 数据库 Android开发
图书销售系统【纯控制台】(Java课设)
图书销售系统【纯控制台】(Java课设)
22 1
|
22天前
|
Java 数据库 Android开发
学生寝室查寝打卡系统【纯控制台】(Java课设)
学生寝室查寝打卡系统【纯控制台】(Java课设)
24 2
|
12天前
|
运维 NoSQL 算法
Java开发-深入理解Redis Cluster的工作原理
综上所述,Redis Cluster通过数据分片、节点发现、主从复制、数据迁移、故障检测和客户端路由等机制,实现了一个分布式的、高可用的Redis解决方案。它允许数据分布在多个节点上,提供了自动故障转移和读写分离的功能,适用于需要大规模、高性能、高可用性的应用场景。
16 0
|
21天前
|
Java 开发者
软件工程设计原理接口隔离原则 ,具体实现及JAVA代码举例
【4月更文挑战第7天】接口隔离原则(Interface Segregation Principle, ISP)是面向对象设计原则之一,旨在减少不必要的依赖关系,通过拆分庞大且臃肿的接口为更小、更具体的接口来实现。这个原则强调“客户端不应该被迫依赖于它不使用的接口”,意味着一个类不应该被迫实现它不使用的方法。
16 1
|
21天前
|
Java
软件工程设计原理依赖倒置原则 ,具体实现及JAVA代码举例
【4月更文挑战第5天】在软件工程中,依赖倒置原则(Dependency Inversion Principle, DIP)是一项重要的设计原则,它是SOLID原则中的一个组成部分。这个原则主张高层模块不应该依赖于低层模块,而是应该依赖于抽象;抽象不应该依赖于细节,细节应该依赖于抽象。这种设计方法有助于降低代码间的耦合度,增强系统的灵活性和可维护性
20 0
|
21天前
|
Java 关系型数据库
软件工程设计原理开放封闭原则 ,具体实现及JAVA代码举例
【4月更文挑战第4天】开放封闭原则(Open/Closed Principle, OCP)是面向对象设计的核心原则之一,它指出软件实体(类、模块、函数等)应该对扩展开放,对修改封闭。这意味着在不修改已有代码的前提下,可以通过扩展来增加新的功能,从而提高软件系统的灵活性和可维护性
18 1
|
22天前
|
存储 Java 关系型数据库
景区特色商品管理系统【控制台+MySQL】(Java课设)
景区特色商品管理系统【控制台+MySQL】(Java课设)
13 1
|
22天前
|
存储 Java 关系型数据库
教师工资管理系统【控制台+MySQL】(Java课设)
教师工资管理系统【控制台+MySQL】(Java课设)
13 0
|
22天前
|
存储 Java 关系型数据库
学生宿舍管理系统【控制台+MySQL】(Java课设)
学生宿舍管理系统【控制台+MySQL】(Java课设)
12 0

热门文章

最新文章