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

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
10月前
|
存储 缓存 Java
我们来详细讲一讲 Java NIO 底层原理
我是小假 期待与你的下一次相遇 ~
330 2
|
9月前
|
监控 Java API
现代 Java IO 高性能实践从原理到落地的高效实现路径与实战指南
本文深入解析现代Java高性能IO实践,涵盖异步非阻塞IO、操作系统优化、大文件处理、响应式网络编程与数据库访问,结合Netty、Reactor等技术落地高并发应用,助力构建高效可扩展的IO系统。
268 0
|
11月前
|
存储 缓存 Java
【高薪程序员必看】万字长文拆解Java并发编程!(5):深入理解JMM:Java内存模型的三大特性与volatile底层原理
JMM,Java Memory Model,Java内存模型,定义了主内存,工作内存,确保Java在不同平台上的正确运行主内存Main Memory:所有线程共享的内存区域,所有的变量都存储在主存中工作内存Working Memory:每个线程拥有自己的工作内存,用于保存变量的副本.线程执行过程中先将主内存中的变量读到工作内存中,对变量进行操作之后再将变量写入主内存,jvm概念说明主内存所有线程共享的内存区域,存储原始变量(堆内存中的对象实例和静态变量)工作内存。
340 0
|
10月前
|
存储 算法 安全
Java中的对称加密算法的原理与实现
本文详细解析了Java中三种常用对称加密算法(AES、DES、3DES)的实现原理及应用。对称加密使用相同密钥进行加解密,适合数据安全传输与存储。AES作为现代标准,支持128/192/256位密钥,安全性高;DES采用56位密钥,现已不够安全;3DES通过三重加密增强安全性,但性能较低。文章提供了各算法的具体Java代码示例,便于快速上手实现加密解密操作,帮助用户根据需求选择合适的加密方案保护数据安全。
728 58
|
9月前
|
人工智能 安全 Java
Go与Java泛型原理简介
本文介绍了Go与Java泛型的实现原理。Go通过单态化为不同类型生成函数副本,提升运行效率;而Java则采用类型擦除,将泛型转为Object类型处理,保持兼容性但牺牲部分类型安全。两种机制各有优劣,适用于不同场景。
461 24
|
9月前
|
存储 搜索推荐 算法
Java 大视界 -- Java 大数据在智能金融理财产品风险评估与个性化配置中的应用(195)
本文深入探讨了Java大数据技术在智能金融理财产品风险评估与个性化配置中的关键应用。通过高效的数据采集、存储与分析,Java大数据技术助力金融机构实现精准风险评估与个性化推荐,提升投资收益并降低风险。
Java 大视界 -- Java 大数据在智能金融理财产品风险评估与个性化配置中的应用(195)
|
10月前
|
XML JSON Java
Java 反射:从原理到实战的全面解析与应用指南
本文深度解析Java反射机制,从原理到实战应用全覆盖。首先讲解反射的概念与核心原理,包括类加载过程和`Class`对象的作用;接着详细分析反射的核心API用法,如`Class`、`Constructor`、`Method`和`Field`的操作方法;最后通过动态代理和注解驱动配置解析等实战场景,帮助读者掌握反射技术的实际应用。内容翔实,适合希望深入理解Java反射机制的开发者。
835 13
|
9月前
|
分布式计算 搜索推荐 算法
Java 大视界 -- Java 大数据在智慧养老服务需求分析与个性化服务匹配中的应用(186)
本篇文章探讨了Java大数据技术在智慧养老服务需求分析与个性化服务匹配中的应用。通过整合老年人健康数据与行为数据,结合机器学习与推荐算法,实现对老年人健康风险的预测及个性化服务推荐,提升养老服务的智能化与精准化水平,助力智慧养老高质量发展。
|
10月前
|
算法 Java 索引
说一说 Java 并发队列原理剖析
我是小假 期待与你的下一次相遇 ~
110 1