学习一项新东西之前,我常常问自己:

这项技术是什么?

这项技术为我们做了什么?

为什么不用其他类似的技术?

如何使用这项技术?

于是我带着这些问题开始学习apache log4j

一,apache log4j是什么

The Apache Logging Services Project creates and maintains open-source software related to the logging of application behavior and released at no charge to the public.

这面这段话是apache日志服务官网首页的一段话,意思就是说用来记录程序的行为,开源免费。

而log4j是apache为Java提供的日志管理工具,目前可以用于生产的最新版本是Log4j 2.11.0,2.4及更高版本依赖于JDK7,

2.0-alpha1 to 2.3依赖于JDK6.

二,log4j为我们做了什么

2.1,日志分级

日志级别从低到高分为7个级别:

all:输出所有日志信息

debug:输出调试信息

info:输出提示信息

warn:表明可能有潜在错误的情形,输出警告信息

error :表明发生了错误事件,但不影响系统运行,输出错误信息

fatal:表明发生了严重的错误,可能导致系统停止运行

off:关闭日志输出

2.2,多样化的日志存储方式

可以输出到控制台、文件、Socket、邮件、数据库或者自定义Appender

如何配置不同的Appender,https://blog.csdn.net/qq_30788845/article/details/53083774

2.3,日志格式化

log4j,通常%加其他字符,代表以什么格式输出什么信息

三,log4j和common-logging、slf4j的关系

网上有很多关于这方面的博客,这里暂且不讨论这个问题。

四,为什么不用其他的日志工具

log4j很强大、很好用。

五,log4j.properties文件示例

下面是实际项目的log4j配置文件

###loggers###
#log4j.rootLogger=INFO,console,R
log4j.rootLogger=INFO,R
#sql
log4j.logger.com.think.base.jdbc=ERROR###consoleAppender###
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{HH:mm:ss,SSS}[%t][%.30c:%L][%p]-%m%n###detailAppender###
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.Threshold=ERROR
log4j.appender.R.Append=true
log4j.appender.R.File=/srv/www/app/demo/log/detail.log
log4j.appender.R.DatePattern='.'yyyy-MM-dd
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{HH:mm:ss,SSS}[%t][%.30c:%L][%p]-%m%n

log4j.rootLogger=INFO,R

表示将INFO级别的日志输出到目的地R,R在后面的配置中定义

log4j.logger.com.think.base.jdbc=ERROR

表示将com.think.base.jdbc这个类的日志级别设为Error

log4j.appender.R=org.apache.log4j.DailyRollingFileAppender

表示每天产生一个日志文件

log4j.appender.R.File=/srv/www/app/demo/log/detail.log

日志文件的路径

log4j.appender.R.DatePattern='.'yyyy-MM-dd

历史日志文件名的格式,比如说今天是2018年7月26号,那么昨天的日志文件名为detail.log.2018-07-25

log4j.appender.R.layout.ConversionPattern=%d{HH:mm:ss,SSS}[%t][%.30c:%L][%p]-%m%n

%d{HH:mm:ss,SSS}表示输出时间,例如:18:20:38,448

%t表示输出线程名,例如:Thread-310

%.30c表示输出类的路径和名称(超过30个个字符的部分不会输出),例如:ve.fxc.stkkh.bus.util.BusUtils

%L表示输出行号

%p表示输出日志级别

apache log4j入门相关推荐

  1. Log4J入门教程(一) 入门例程

    1 转载地址 http://blog.csdn.net/lengyuhong/article/details/5832799 2 内容 Log4J的入门简介学习 简介: Log4j是Apache的一个 ...

  2. Log4J入门教程(三) maven构建

    一.入门实例 1. 新建一个maven Java工程,导入Log4j包,pom文件中对应的配置代码如下: <!-- log4j support --> <dependency> ...

  3. Apache Camel入门

    在先前的博文中,我们了解了企业集成模式(EIP). 现在,在这篇文章中,我们将研究实现这些模式的Apache Camel框架. 关于骆驼: Apache Camel是一个开放源代码项目,已有将近5年的 ...

  4. Apache Log4j使用实例

    Apache Log4j使用实例  原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.  Blog:  1.Logger类 通过Logger类的静 ...

  5. Apache Hive入门1

    Apache Hive入门1 Hive是Hadoop项目中的一个子项目,由FaceBook向Apache基金会贡献,其中TaoBao也是其中一位使用者+贡献者,Hive被视为 一个仓库工具,可以将结构 ...

  6. log4j:WARN No such property [datePattern] in org.apache.log4j.RollingFileAppender.

    log4j:WARN No such property [datePattern] in org.apache.log4j.RollingFileAppender. log4j:ERROR setFi ...

  7. org.apache.log4j.Logger详解

    1. 概述 1.1. 背景 在应用程序中添加日志记录总的来说基于三个目的 :监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作:跟踪代码运行时轨迹,作为日后审计的依据:担当集成开 ...

  8. IDEA里运行代码时出现Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger的解决办法(图文详解)...

    问题详情 运行出现log4j的问题 "C:\Program Files\Java\jdk1.8.0_66\bin\java" -Didea.launcher.port=7533 & ...

  9. Apache Torque入门学习

    2019独角兽企业重金招聘Python工程师标准>>> Apache Torque是一种object-relational mapper.Torque能让用户通过java objec ...

最新文章

  1. latex中\begin{verbatim}以及\verb有什么用?
  2. 《Cacti实战》——导读
  3. 搜索引擎是如何判断网站质量的?
  4. html 点击文本框则选中,JS事件 内容选中事件(onselect)选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,同时调用的程序就会被执行。...
  5. C#判断某软件是否安装
  6. 第十七期:2019人工智能统计数字和一些重要事实
  7. xampp for mac mysql_xampp for mac下载-Xampp Mac版下载 V7.3.2-PC6苹果网
  8. Java 统计字母个数
  9. modem (1)---手机主叫的信道流程与Modem Log简单分析
  10. 一个奇妙、离奇的算法题
  11. IE Tab Plus 安装设置说明
  12. Redundant Paths(边双连通分量缩点+思维构造)
  13. 逻辑结构?存储结构?傻傻分不清……
  14. java二级易错点一
  15. QGIS之十三矢量化电子地图并矩形化
  16. 视频系统 流媒体 rtsp hls h264 h265 aac 高并发 低延时 系统 设计 录像 视频合成 转发 点播 快进 快退 单步播放 分布式集群
  17. python文件名可以用中文吗_python对中文路径/文件名的重命名
  18. libusb使用指南
  19. 1404:我家的门牌号(C C++)
  20. 青龙扩展项目-全球骑士购

热门文章

  1. harfbuzz安装位置 linux_最新Ubuntu 20.04 LTS已发布,在Win10中该如何进行安装和使用?...
  2. matlab cell转数组_MATLAB批量修改文件名
  3. c语言EOF0x99,C语言选择题99道.doc
  4. RuoYi-Vue 部署 Linux环境 若依前后端分离项目(jar包+nginx 多机版本)
  5. centos7 /etc/profile 文件模板
  6. 如何快速下载CentOS7镜像
  7. 1450. 在既定时间做作业的学生人数
  8. JavaScript 中,break , continue , return 的区别
  9. python期末考试重点_如何应付大学的python考试而不至于挂科?
  10. html中下边框过渡效果,CSS3 参与背景过度的属性有哪些(transition-property语法规则及多组过渡效果实例)...