浅谈log4j-3-不同输出样式
public static void main(String[] args) {
        Logger logger=Logger.getLogger(Appendable.class);
        //设置输出等级
        logger.setLevel(Level.INFO);
        //设置输出端
        ConsoleAppender appender=null;
        /**
         * 2)org.apache.log4j.SimpleLayout,输出的信息为:
         * 1:日志事件的优先级,即DEBUG,INFO,WARN,ERROR
         * 2:代码中指定的消息
         */
        //SimpleLayout layout=new SimpleLayout();
           /**
         * 1)org.apache.log4j.HTMLLayout ,以HTML表格形式布局,输出的信息为:
         * 1:从layout(布局)的构建到日志事件创建所经过的毫秒数
         * 2:生成该日志事件的线程的名称
         * 3:日志事件的优先级,即DEBUG,INFO,WARN,ERROR
         * 4:日志事件的category(类别),通常就是所在类的全名
         * 5:代码中指定的消息
         */
        //HTMLLayout  layout = new HTMLLayout();  
         /**
         * 3)org.apache.log4j.TTCCLayout,输出的信息为:
         * 1:从layout(布局)的构建到日志事件创建所经过的毫秒数
         * 2:生成该日志事件的线程的名称
         * 3:日志事件的优先级,即DEBUG,INFO,WARN,ERROR
         * 4:日志事件的category(类别),通常就是所在类的全名
         * 5:代码中指定的消息
         */
        TTCCLayout layout = new TTCCLayout();
         /**
         * 4)org.apache.log4j.PatternLayout(可以灵活地指定布局模式),这是实际工作中我们最常用的一种,
         * 输出的信息是自定义的,比如:下面的设置 (前面的笔记已经有了例子,不再重复)
         */
        //目的地
        appender=new ConsoleAppender(layout);
        logger.addAppender(appender);
        logger.debug("debug");
        logger.info("info");
        logger.warn("warn");
        logger.error("error");
        logger.fatal("fatal");
    }
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Log4J Log Messages</title>
<style type="text/css">
<!--
body, table {font-family: arial,sans-serif; font-size: x-small;}
th {background: #336699; color: #FFFFFF; text-align: left;}
-->
</style>
</head>
<body bgcolor="#FFFFFF" topmargin="6" leftmargin="6">
<hr size="1" noshade>
Log session start time Sun Jun 03 21:05:28 CST 2018<br>
<br>
<table cellspacing="0" cellpadding="4" border="1" bordercolor="#224466" width="100%">
<tr>
<th>Time</th>
<th>Thread</th>
<th>Level</th>
<th>Category</th>
<th>Message</th>
</tr> <tr>
<td>0</td>
<td title="main thread">main</td>
<td title="Level">INFO</td>
<td title="java.lang.Appendable category">java.lang.Appendable</td>
<td title="Message">info</td>
</tr> <tr>
<td>20</td>
<td title="main thread">main</td>
<td title="Level"><font color="#993300"><strong>WARN</strong></font></td>
<td title="java.lang.Appendable category">java.lang.Appendable</td>
<td title="Message">warn</td>
</tr> <tr>
<td>20</td>
<td title="main thread">main</td>
<td title="Level"><font color="#993300"><strong>ERROR</strong></font></td>
<td title="java.lang.Appendable category">java.lang.Appendable</td>
<td title="Message">error</td>
</tr> <tr>
<td>21</td>
<td title="main thread">main</td>
<td title="Level"><font color="#993300"><strong>FATAL</strong></font></td>
<td title="java.lang.Appendable category">java.lang.Appendable</td>
<td title="Message">fatal</td>
</tr>
result html
INFO - info
WARN - warn
ERROR - error
FATAL - fatal
simple result
8 [main] INFO java.lang.Appendable - info
9 [main] WARN java.lang.Appendable - warn
9 [main] ERROR java.lang.Appendable - error
9 [main] FATAL java.lang.Appendable - fatal
result
浅谈log4j-3-不同输出样式的更多相关文章
- 浅谈Log4j和Log4j2的区别
		相信很多程序猿朋友对log4j都很熟悉,log4j可以说是陪伴了绝大多数的朋友开启的编程.我不知道log4j之前是用什么,至少在我的生涯中,是log4j带我开启的日志时代. log4j是Apache的 ... 
- 浅谈Log4j
		1 什么是Log4j Log4j 是Apache为Java提供的日志管理工具.为了你快速理解Log4j的作用,我们用下面的代码说明Log4j的作用.我们为了调试程序,总是需要在程序使用System.o ... 
- 浅谈datagrid详细操作单元格样式
		http://www.easyui.info/archives/470.html 今天有朋友问到:“如果设置列标题居中而列内容居右显示?”,仔细查了一下api,目前版本提供了两个相关的列属性,alig ... 
- 浅谈js for循环输出i为同一值的问题(闭包解决)
		1.最近开发中遇到一个问题,为什么每次输出都是5,而不是点击每个p,就alert出对应的1,2,3,4,5. <html> <head> <meta http-equiv ... 
- 浅谈js for循环输出i为同一值的问题
		问题再现  最近开发中遇到一个问题,为什么每次输出都是5,而不是点击每个p,就alert出对应的1,2,3,4,5. <html> <head> <meta http- ... 
- 浅谈Hybrid技术的设计与实现第三弹——落地篇
		前言 接上文:(阅读本文前,建议阅读前两篇文章先) 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 根据之前的介绍,大家对前端与Native的交互应该有一些简单的认识了,很多 ... 
- 浅谈php生成静态页面
		一.引 言 在速度上,静态页面要比动态页面的比方php快很多,这是毫无疑问的,但是由于静态页面的灵活性较差,如果不借助数据库或其他的设备保存相关信息的话,整体的管理上比较繁琐,比方修改编辑.比方阅读权 ... 
- 浅谈iOS视频开发
		浅谈iOS视频开发 这段时间对视频开发进行了一些了解,在这里和大家分享一下我自己觉得学习步骤和资料,希望对那些对视频感兴趣的朋友有些帮助. 一.iOS系统自带播放器 要了解iOS视频开发,首先我们从 ... 
- .net中对象序列化技术浅谈
		.net中对象序列化技术浅谈 2009-03-11 阅读2756评论2 序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储 ... 
随机推荐
- 登录验证码实现(Captcha)
			登录验证码 登录验证是一般系统都会有的功能,验证的方式也多种多样,比如输入式验证码,拖动式验证条,拖动式验证拼图等等. 我们这里先实现常规的输入验证码的方式,右边显示验证码图片,点击可刷新,左边输入验 ... 
- python使用变量
			#不建议用加号,建议用.format name = input('name:') age = input('age:') print( name ,age) print('姓名:',name,'年龄: ... 
- PC/FORTH 数字类型
			body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ... 
- Android system :灯光系统_HAL_lights
			一.android灯光系统框架: Java: frameworks/base/services/core/java/com/android/server/lights/LightsService.ja ... 
- Centos7部署kubernetes Proxy(七)
			1.配置kube-proxy使用LVS(三个节点都装上去) [root@linux-node1 ssl]# yum install -y ipvsadm ipset conntrack [root@l ... 
- mybatis 异常 There is no getter for property named 'bizId' in 'class java.lang.Long'
			mybatis 异常 There is no getter for property named 'bizId' in 'class java.lang.Long' 当使用mybatis进行传参的时候 ... 
- poj2406(kmp算法)
			Given two strings a and b we define a*b to be their concatenation. For example, if a = "abc&quo ... 
- <Java><Multi-thread><Lock interface>
			Overview 介绍java的lock interface. Motivation java拥有像synchronized这样的内置锁,那为什么还需要lock这样的外置锁呢? 首先,性能不是选择sy ... 
- iOS 获取当前正在显示的ViewController
			//获取当前屏幕显示的viewcontroller - (UIViewController *)getCurrentVC { UIViewController *result = nil; UIWin ... 
- Python 默认值字典
			from collections import defaultdict # 默认值字典 dd = defaultdict(lambda: "胡辣汤") # callable 可调用 ... 
