(1)通过org.apache.commons.logging.Log 接口实例化:

public static Log log = LogFactory.getLog(String name);

public static Log log = LogFactory.getLog(Class clazz);

注意:

  方法传递的参数通过log4j配置格式符号%c写入日志:

  a)如果参数是第一种,传入字符串,则日志中格式符号%c位置处显示该字符串;

  b)如果参数是第二种,传入class类型参数,则日志中格式符号%c位置处显示参数的类的完全限定名;

(2)通过org.apache.log4j.Logger类实例化

public static Logger logger1 = Logger.getLogger(String name);

public static Logger logger2 = Logger.getLogger(Class clazz);

这种注意点和上面一致。

这两种方式都可以用在系统级别和类级别日志,如下:

(1)系统级别:

  定义一个日志工具类,用上面任何一种方式实例化日子类,向外提供一个静态方法得到该日志实例,然后调用实例的error()等方法输出日志即可;

public class LogUtil {public static Logger logger1 = logger.getLogger("System error");public static Logger logger2 = logger.getLogger("System info");public static Logger getErrorLogger() {return logger1 ;}
}

(2)类级别

  需要用到日志的类中就定义一个全局静态的日志实例变量logger,直接在本类的方法中调用logger对应的error()、info()等方法输出日志即可;

转载于:https://www.cnblogs.com/cainiao-Shun666/p/7910954.html

程序中使用log4J打印信息的两种方式相关推荐

  1. DLL中导出函数的声明有两种方式

    本文引用自:VC编程时DLL中导出函数的声明有两种方式 一种方式是:在函数声明中加上__declspec(dllexport): 另外一种方式是:采用模块定义(.def)文件声明,(.def)文件为链 ...

  2. shell 不等于_关于shell编程中的整数值比较的两种方式的简单操作实例

    谈一谈关于shell编程中的整数值比较的两种方式 Shell编程有时处理一个对象时,需要我们对对象进行测试. 只有符合要求的才采取下一步操作,这样做的好处可以避免程序出错. 这个测试的对象可以是文件. ...

  3. C++类中成员变量的初始化有两种方式

    C++类中成员变量的初始化有两种方式: 构造函数初始化列表和构造函数体内赋值.下面看看两种方式有何不同. 成员变量初始化的顺序是按照在那种定义的顺序. 1.内部数据类型(char,int--指针等) ...

  4. c语言返回二叉树的大小,C语言中计算二叉树的宽度的两种方式

    C语言中计算二叉树的宽度的两种方式 二叉树作为一种很特殊的数据结构,功能上有很大的作用!今天就来看看怎么计算一个二叉树的最大的宽度吧. 采用递归方式 下面是代码内容: int GetMaxWidth( ...

  5. python循环展示大写字母_python调用大写函数python中字典的循环遍历的两种方式

    开发中经常会用到对于字典.列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式. 注意: python2和python ...

  6. python中字典的循环遍历的两种方式

    开发中经常会用到对于字典.列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式. 注意: python2和python ...

  7. C语言中存储多个字符串的两种方式

    C语言中存储多个字符串的两种方式 方式一 二维字符串数组 声明: char name[4][10] = { "Justinian", "Momo", " ...

  8. Ubuntu查看IP信息的两种方式

    无论使用什么系统,都有用到ip地址的时候,习惯了windows系统的人很容易就能查找出系统的ip,但是在linux系统如何查看ip呢?作为Linux新手,以Ubuntu的使用经验,我知道Ubuntu查 ...

  9. android数据库侵入,Android中实现侵入式状态栏的两种方式

    最近对"爸比讲故事"Android版本进行代码重构的时候,对之前版本的大部分界面的头部侵入式效果,作了一个总结和梳理,在期间查阅了thinkcool的博客和结合亲身实践,总结了2种 ...

  10. 在Scrapy中如何利用Xpath选择器从HTML中提取目标信息(两种方式)

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 坚定,严谨,勤奋,开拓 前一阵子我 ...

最新文章

  1. ensp删除静态路由命令_eNSP配置静态路由
  2. vue调用手机相机相册_今天才发现,点一下小米手机相册,能将照片一键制作成电影...
  3. 调整 Windows系统参数网址
  4. Java进阶资源汇总
  5. Qt——P6 QPushButton创建
  6. linux 线程和进程优先级,c – 在linux中更改线程优先级和调度程序
  7. 稀疏表示的合适字典_基于共振稀疏分解的滚动轴承早期微弱故障诊断
  8. paip.sql2008 客户端软件绿色版V319
  9. word文档太大怎么压缩?
  10. idea打断点是白色的
  11. 命主属性是水什么意思_五行为水的命主会有怎么样的性格特点
  12. Unity3D 协程
  13. python面向对象编程实例pdf_Python面向对象编程指南 ([美]StevenFLott洛特) 中文pdf扫描版[52MB]...
  14. 平面设计新手如何用PS制作出一张合成海报
  15. 【2020高考同题征文•全国I卷】志向高远,心胸宽阔
  16. layui rate (评分组件)使用的一点经验分享
  17. RN:React Native原理以及新架构JSI、Fabric等概念
  18. 中国地质调查局:汶川地震原因已有初步的结论
  19. Microsoft SQL Server2000 四个版本的区别及下载地址
  20. Java中PO、BO、VO、DTO、POJO、DAO什么意思?

热门文章

  1. 转:extjs里的fieldset不居中的解决办法(记录)
  2. .net网页的生命周期列表
  3. Jquery—Jquery异步功能实例
  4. 为什么找不到使用rem的网站
  5. std::condition_variable notify_one()与notify_all()的区别
  6. 解决ubuntu不能远程连接
  7. 你真的把数据库事务搞懂了吗,有图有真相,图文并茂!
  8. 2021-1-29Linux学习纪要
  9. Python基础知识笔记(一)
  10. ROS学习记录:动作编程