简单的说log4j就是帮助开发人员进行日志输出管理的API类库。它最重要的特点就可以配置文件灵活的设置日志信息的优先级、日志信息的输出目的地、日志信息的输出格式

Log4j 除了可以记录程序运行日志信息外还有一重要的功能就是用来显示调试信息。

程序员经常会遇到脱离Java ide环境调试程序的情况,这时大多数人会选择使用System.out.println语句输出某个变量值的方法进行调试。这样会带来一个非常麻烦的问题:一旦哪天程序员决定不要显示这些System.out.println的东西了就只能一行行的把这些垃圾语句注释掉。若哪天又需调试变量值,则只能再一行行去掉这些注释恢复System.out.println语句。使用log4j可以很好的处理类似情况。

log4j使用方法下面介绍的是log4j一些理论方面的知识,读者觉得枯燥的话可以跳过本节直接阅读第三节实例部分。

1、定义配置文件

首先使用配置文件将使我们的应用程序更加灵活配置log日志输出方式包括输出优先级、输出目的地、输出格式。

Log4j支持两种配置文件格式,

1)XML格式的文件,

2)Java特性文件log4j.properties(键=值)。

下面将介绍使用log4j.properties文件作为配置文件的方法:

①配置根Logger,其语法为:0

log4j.rootLogger = [ level ] , appenderName, appenderName, …

其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定义的级别。

Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG

通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。 appenderName就是指定日志信息输出到哪个地方。可同时指定多个输出目的地。

②配置日志信息输出目的地Appender,其语法为:

log4j.appender.appenderName = fully.qualified.name.of.appender.classlog4j.appender.appenderName.option1 = value1…log4j.appender.appenderName.option = valueN

其中,Log4j提供的appender有以下几种:org.apache.log4j.ConsoleAppender(控制台),org.apache.log4j.FileAppender(文件),org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

��配置日志信息的格式(布局),其语法为:

log4j.appender.appenderName.layout = fully.qualified.name.of.layout.classlog4j.appender.appenderName.layout.option1 = value1…log4j.appender.appenderName.layout.option = valueN

其中,Log4j提供的layout有以下几种:org.apache.log4j.HTMLLayout(以HTML表格形式布局),org.apache.log4j.PatternLayout(可以灵活地指定布局模式),org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下:

%m 输出代码中指定的消息

%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL

%r 输出自应用启动到输出该log信息耗费的毫秒数

%c 输出所属的类目,通常就是所在类的全名

%t 输出产生该日志事件的线程名

%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”

%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921

%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)

2、在代码中使用Log4j

①得到记录器

使用Log4j,第一步就是获取日志记录器,这个记录器将负责控制日志信息。其语法为:

public static Logger getLogger( String name)

通过指定的名字获得记录器,如果必要的话,则为这个名字创建一个新的记录器。Name一般取本类的名字,比如:

static Logger logger = Logger.getLogger ( ServerWithLog4j.class.getName () )

②读取配置文件

当获得了日志记录器之后,第二步将配置Log4j环境,其语法为:

BasicConfigurator.configure (): 自动快速地使用缺省Log4j环境。PropertyConfigurator.configure ( String configFilename):读取使用Java的特性文件编写的配置文件。

例:

PropertyConfigurator.configure(".\\src\\log4j.properties")DOMConfigurator.configure ( String filename ) :读取XML形式的配置文件。

③插入记录信息(格式化日志信息)

当上两个必要步骤执行完毕,就可轻松地使用不同优先级别的日志记录语句插入到您想记录日志的任何地方,其语法如下:

Logger.debug ( Object message ) ;Logger.info ( Object message ) ;Logger.warn ( Object message ) ;Logger.error ( Object message ) ;

log4j日志 linux配置,Log4j 日志详细用法相关推荐

  1. linux目录搜索ip的命令,Linux常用命令全集 详细用法

    内容较长,建议先看目录 目录 Linux常用命令全集 详细用法 基础 相关介绍 控制台切换 快捷键 查看帮助 查看系统相关信息 查看ip地址 关机重启 目录与文件 相关介绍 查看文件 cat命令 le ...

  2. linux的ntp怎么配置,linux配置ntp的详细教程

    今天小编给大家带来一篇关于linux配置ntp的详细教程,感兴趣的朋友跟小编一起来了解一下吧! 在linux下,我们可以通过自带的NTP(Network Time Protocol)协议通过网络使自己 ...

  3. linux怎么配置日志,Linux配置日志服务器的图文教程

    Linux配置日志服务器的图文教程 前言 本文主要介绍的是关于Linux配置日志服务器的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 日志服务器配置文件:/etc/rsys ...

  4. log4j java web_javaWeb配置log4j

    学习javaweb项目,配置log4j过程记录新建javaweb项目 zmblogs 在maven包管理站点 https://mvnrepository.com 下载jar包(log4j-1.2.15 ...

  5. ftp文件服务器登录日志,linux ftp服务器日志

    linux ftp服务器日志 内容精选 换一换 为加强对系统数据的容灾管理,云堡垒机支持配置日志备份,提高审计数据安全性和系统可扩展性.本小节主要介绍如何在系统配置FTP/SFTP服务器参数,将日志远 ...

  6. linux中chmod命令的用法,【linux】chmod命令详细用法

    功能说明: 变更文件或目录的权限 u:User,即文件或目录的拥有者. g:Group,即文件或目录的所属群组. o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围. a:Al ...

  7. linux 配置sftp日志,在CentOS 7.5上为SFTP配置ProFTPd

    这是有关如何为SFTP会话配置ProFTPd的指南. 安全文件传输协议(SFTP)是FTP的安全版本,它通过SSH协议传输文件. 与使用默认FTP协议相比,可以重新配置ProFTPD以服务SFTP会话 ...

  8. Linux配置rsylogs日志发送,syslog强大而安全的日志处理系统

    Ryslog是一个强大而安全的日志处理系统.Rsylog通过多个物理或虚拟服务器在网络上接收日志,并监视不同服务的健康状况.使用Rsyslog,您可以从集中位置监视其他服务器.网络设备和远程应用程序的 ...

  9. 访问linux服务主机,如何把Linux配置为日志服务主机。

    如网络设备很多,可把同类的设备配置为相同的设备号 例:more switch.log | grep X.X.X.X //查看某一设备的日志 审核和记录系统的事件是非常重要的.如果仅仅把系统事件作为日志 ...

最新文章

  1. 数据结构 i_love(我喜欢)
  2. Python处理多行文本问题--一个简单方法读取多行fasta文件
  3. 【深度学习】深入浅出数字图像处理基础(模型训练的先修课)
  4. Python程序设计题解【蓝桥杯官网题库】 DAY3-基础练习
  5. Ubuntu 安装Jdk(apt-get)
  6. cxf超时设置不起效_晚上不限时,白天1小时!上海限时长停车场来了
  7. java hsqldb_HSQLDB: java程序使用hsqldb 入门教程 java启动hsqldb (初步hsqldb效率评估)...
  8. 国标GB28181协议国标视频平台国标流媒体服务器EasyGBS向上级联多个平台设备及通道选择错位问题解析
  9. Panda_Cloud_v1.2 源代码开源
  10. python读matlab.fig_从fig文件中读取数据
  11. 写好一份数据分析报告需要注意的13个要点
  12. 解决 Missing GL version
  13. NOIP2008 ISBN号码(一桶水)【A005】
  14. 终于等到你,最强 IDE Visual Studio 2017 正式版发布
  15. 人力资源管理专业知识与实务(初级)【9】
  16. 作家助手macos_我们正在寻找一般兴趣作家
  17. 微信小程序getuserinfo废弃
  18. Python基础知识汇总和应用示例
  19. 物流悬臂式货架深入了解:悬臂式货架如何存取?悬臂式货架多少钱?
  20. Kernel: systemtap

热门文章

  1. 阿里云数据传输服务低价不低质,服务再升级
  2. 密立根油滴实验的计算机仿真实验报告,H-D光谱实验的计算机仿真
  3. python商品总价_【Python基础 | 列表】小实验:实现显示商品,选择商品,将商品加入购物车,得到总价格...
  4. 高度为5的3阶b树含有的关键字个数_第15期:索引设计(索引组织方式 B+ 树)
  5. java 方法保存变量_java – 在初始化对象或将其保存为变量并调用该方法时,调用方法的速度更快...
  6. mybatis 插入数据后返回自增id
  7. 怎么去除idea中代码的波浪线(黄色警告线)
  8. linux 查看目录下文件个数
  9. IEDA 配置Git_04
  10. MySQL在Windows 环境中的安装