一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述

1 老规矩,先来个栗子,然后再聊聊感受

import org.apache.log4j.*;
//by godtrue
public class UseLog4j {
//日志记录器
private static Logger LOGGER = LogManager.getLogger(UseLog4j.class);
//程序入口——主函数
public static void main(String[]args){
/**
* 设置日志信息输出的风格样式,日志输出的风格主要有以下几种,可以各自设置一下,看看对应的效果
*/ /**
* 1)org.apache.log4j.HTMLLayout ,以HTML表格形式布局,输出的信息为:
* 1:从layout(布局)的构建到日志事件创建所经过的毫秒数
* 2:生成该日志事件的线程的名称
* 3:日志事件的优先级,即DEBUG,INFO,WARN,ERROR
* 4:日志事件的category(类别),通常就是所在类的全名
* 5:代码中指定的消息
*/
// Layout layout = new HTMLLayout(); /**
* 2)org.apache.log4j.SimpleLayout,输出的信息为:
* 1:日志事件的优先级,即DEBUG,INFO,WARN,ERROR
* 2:代码中指定的消息
*/
// Layout layout = new SimpleLayout(); /**
* 3)org.apache.log4j.TTCCLayout,输出的信息为:
* 1:从layout(布局)的构建到日志事件创建所经过的毫秒数
* 2:生成该日志事件的线程的名称
* 3:日志事件的优先级,即DEBUG,INFO,WARN,ERROR
* 4:日志事件的category(类别),通常就是所在类的全名
* 5:代码中指定的消息
*/
// Layout layout = new TTCCLayout(); /**
* 4)org.apache.log4j.PatternLayout(可以灵活地指定布局模式),这是实际工作中我们最常用的一种,输出的信息是自定义的,比如:下面的设置
*/
//设置日志信息的格式化方式
String pattern = "%l - %p - %m%n";
Layout layout = new PatternLayout(pattern); //设置日志信息的输出目的地
Appender appender= new ConsoleAppender(layout);
//设置日志信息的输出配置
BasicConfigurator.configure(appender);
//输出日志信息
LOGGER.info(" my level is INFO");
}
}

ps:只有 PatternLayout 可以灵活指定布局模式,通过 PatternLayout(String pattern) 来进行配置。其它击中布局模式都是定义好的,不需要自己进行指定!

1.1 感受

1)上面的代码将几种常用的日志输出风格都列出来了,感兴趣的话,可以将注释解注,试验一下效果

2)通过试验,我也将每种风格的日志信息都是输出什么也简单的列举了一下,总的感觉自定义的风格是最好玩的一个,我们可以随便的定义自己想要的输出内容

3)log4j定义的日志输出风格不止这几个,还有别的只是这几个比较简单,介绍起来也方便,也能比较一下各种风格的异同,其中自定义的方式是最为常用的,非常的灵活方便

 

(转)log4j(四)——如何控制不同风格的日志信息的输出?的更多相关文章

  1. log4j(四)——如何控制不同风格的日志信息的输出?

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 import org.apache.log4j.*; //by godtrue p ...

  2. (转)log4j(三)——如何控制不同级别的日志信息的输出?

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 老规矩,先来个栗子,然后再聊聊感受 package test.log4j.test3; import org.apac ...

  3. log4j(三)——如何控制不同级别的日志信息的输出?

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 import org.apache.log4j.*; //by godtrue p ...

  4. (转)log4j(二)——如何控制日志信息的输出?

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 先看栗子再来下结论 import org.apache.log4j.*; import test.log4j.bean ...

  5. log4j(二)——如何控制日志信息的输出?

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 二:先看栗子再来下结论 import org.apache.log4j.*; import test.log4j.bean ...

  6. mybatis 配置的log4j文件无效,不能正常显示日志信息

    正在学习mybatis,配置好后log4j.properties文件后,日志信息不能正常显示,没有效果. 查看了一下mybatis的相关文档,在日志一栏找到问题愿意 原因是我们的mybatis选了其他 ...

  7. (转)log4j(五)——如何控制不同目的地的日志输出?

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 老规矩,先来个栗子,然后再聊聊感受 package test.log4j.test5; /** * @author l ...

  8. log4j(五)——如何控制不同目的地的日志输出?

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 import org.apache.log4j.*; import java.io ...

  9. 一个轻巧高效的多线程c++stream风格异步日志(一)

    一个轻巧高效的多线程c++stream风格异步日志 一个轻巧高效的多线程c++stream风格异步日志 前言 功能需求 性能需求 Logger实现 LogStream类 Logger类 LogStre ...

随机推荐

  1. ionic2 tabs使用自定义图标

    在ionic2中图标是通过类添加的 比如说   tabIcon="homeImg" 在页面中研究可以看到在ios上有一个类是 .ion-ios-homeImg:before 所以我 ...

  2. [0] 错误1“GenerateResource”任务意外失败。....

    解决方案1:关闭VS,删除目录下DEBUG文件夹下所有文件,打开VS重新编译.

  3. [转] DDD领域驱动设计框架分享

    从去年10月份开始,学了几个月的领域驱动设计(Domain Driven Design,简称DDD).主要是学习领域驱动设计之父Eric Evans的名著:<Domain-driven desi ...

  4. 前台ajax加载数据

    <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script> <script sr ...

  5. WCF学习——构建一个简单的WCF应用(一)

    本文的WCF服务应用功能很简单,却涵盖了一个完整WCF应用的基本结构.希望本文能对那些准备开始学习WCF的初学者提供一些帮助. 在这个例子中,我们将实现一个简单的计算器和传统的分布式通信框架一样,WC ...

  6. win7休眠的开启与关闭方法

    从开始菜单中找到“附件→命令提示符”,右击选择“以管理员身份运行”,此时可能需要输入管理员密码或进行UAC确认,手工输入如下命令:powercfg -a,从这里可以清楚的看到,计算机是支持休眠的,只是 ...

  7. 移动端布局,C3新增属性

    <html5拖拽> 1.给元素设置 draggable="true" 属性,这个元素就可以被拖拽了 <拖拽元素事件> 2.ondragstart 拖拽前触发 ...

  8. Redis初体验

    简介        Redis是一个速度非常快的非关系型数据库,它不仅性能强劲,而且还具有复制特性以及为解决问题而生的独一无二的数据模型.作为键值型数据库,Redis支持5中数据类型:字符串,列表,集 ...

  9. vmware虚拟机的克隆

    开发中需要用到多个虚拟机进行实验.重新安装过程又太繁琐,通过vmware虚拟机自带软件能够很好的快速克隆出完全相同的系统.下面会为大家讲解关于vmware虚拟机怎么克隆,我所用的VMware版本是11 ...

  10. Python 迭代器和列表解析

    Python 迭代器和列表解析 1)迭代器 一种特殊的数据结构,以对象形式存在 >>> i1 = l1.__iter__() >>> i1 = iter(l1) 可 ...