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

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

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");}
}

三:感受

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

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

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

log4j(四)——如何控制不同风格的日志信息的输出?相关推荐

  1. 【转】最详细的Log4J使用教程一、入门实例二、Log4J基本使用方法三、Spring中使用Log4J四、实战经验总结

    原文地址:http://www.codeceo.com/article/log4j-usage.html 日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供 ...

  2. muduo网络库学习(九)日志类Logger和LogStream,将日志信息打印到屏幕

    每一个成熟的项目都有大大小小的日志系统,在关键的地方打印日志信息,常用来跟踪程序运行,查找错误原因等,可以节省大量的debug时间 muduo的日志信息有5个级别 TRACE,细粒度最高的日志信息,打 ...

  3. 用Log4Net来记录系统的日志信息

    [http://www.cnblogs.com/xhwy/archive/2011/11/25/2263495.html] 几乎所有的大型应用都会有自己的用于跟踪调试的API.因为一旦程序被部署以后, ...

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

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

  5. Mysql深入优化(四)--- MySQL常用工具、日志、主从复制、综合案例

    序列号 内容 链接 1 Mysql深入优化 (一) ----- 索引.视图.存储过程.触发器 https://blog.csdn.net/qq_43061290/article/details/125 ...

  6. 将输出结果以json类型打印在控制台上_系列文章:Kubernetes中日志的正确输出姿势...

    前言 上一期主要和大家介绍从全局维度考虑如何去构建K8s中的日志系统,本期我们从实践角度出发来一步步构建K8s中的日志监控体系.构建日志系统的第一步是如何去产生这些日志,而这也往往是最繁杂最困难的一步 ...

  7. [战略]对空间_日志风格_日志分类_日志标记_的整体说明

    1.写作目的 为方便 粉丝.好友和网友等友好人士阅读Fans的QQ空间的日志, 以及Fans对日志的创作和管理, 特写此文来说明下空间的日志风格.日志分类.日 志标记. 2.日志风格的说明 a.坚持原 ...

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

    一个轻巧高效的多线程c++stream风格异步日志(二) 文章目录 一个轻巧高效的多线程c++stream风格异步日志(二) 前言 LogFile类 AsyncLogging类 AsyncLoggin ...

  9. 用备份控制文件做不完全恢复下的完全恢复(数据文件备份旧--新建表空间--控制文件备份次新--日志归档文件新)...

    为什么会使用备份的控制文件? 实际工作中主要有两种情况: 第一种:当前控制文件全部损坏,而数据文件备份,控制文件备份及当前日志处于不同SCN版本,它们之间又增加过表空间(数据文件). 第二种:当前控制 ...

最新文章

  1. layer的一种用法,自己画出弹出框样式
  2. Mycat分库分表核心技术分析
  3. [jQuery]点击某元素之外触发事件
  4. 大数据治理需要具备哪些能力和关键技术?
  5. Kotlin之?和!!最简单的理解
  6. AutoML数据增广
  7. C#一个完整的电子邮件操作类
  8. VScode安装离线插件
  9. APS生产计划排程(Production Planning and Scheduling)
  10. 网易网盘关停!云端2T的“资源包、小电影”谁来守护?
  11. AndroidStudio高德地图获取key
  12. device no response, device descriptor read/64, error -71
  13. 2019(第八届)国际桥梁与隧道技术大会-会议议程
  14. FPGA的多路偶数分频器设计
  15. c# sha256withrsa 算法 rsa公钥私钥 源码
  16. JzxxOJ Problem 4209: 寻找雷劈数 题解
  17. 为什么maven没有3.7的版本
  18. 突发!三星天津电池工厂爆炸,难道note7的电池还在生产?
  19. 按照老师的方式,将四分位距的统计学异常检测如法炮制
  20. 别再乱用了,这才是 @Validated 和 @Valid 的真正区别!!!

热门文章

  1. Java中是否可以继承String类,为什么
  2. 两个多选框(select)之间值的左右上下移动
  3. linux 中输入一个c程序,从c源程序到Linux可执行代码的过程
  4. linux 火狐安装java插件_Linux下Firefox安装配置JDK插件
  5. 码crc校验_CRC计算
  6. mysql数据库表类型设置_mysql数据库表的类型介绍
  7. 五分钟内搭建的混沌电路
  8. 关于智能车竞赛总结 | 山东大学(威海) - 山魂五队
  9. 使用BH1750测量激光发射器的强度
  10. L型四驱越野模型车初期磨合指南