手机网站环境,域名解析在线工具,c 网站开发哪些框架,凡科网站代码怎么学习一项新东西之前#xff0c;我常常问自己#xff1a;
这项技术是什么#xff1f;
这项技术为我们做了什么#xff1f;
为什么不用其他类似的技术#xff1f;
如何使用这项技术#xff1f;
于是我带着这些问题开始学习apache log4j
一#xff0c;apache log4j是…学习一项新东西之前我常常问自己
这项技术是什么
这项技术为我们做了什么
为什么不用其他类似的技术
如何使用这项技术
于是我带着这些问题开始学习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.02.4及更高版本依赖于JDK7
2.0-alpha1 to 2.3依赖于JDK6.
二log4j为我们做了什么
2.1日志分级
日志级别从低到高分为7个级别
all输出所有日志信息
debug输出调试信息
info输出提示信息
warn表明可能有潜在错误的情形输出警告信息
error 表明发生了错误事件但不影响系统运行输出错误信息
fatal表明发生了严重的错误可能导致系统停止运行
off关闭日志输出
2.2多样化的日志存储方式
可以输出到控制台、文件、Socket、邮件、数据库或者自定义Appender
如何配置不同的Appenderhttps://blog.csdn.net/qq_30788845/article/details/53083774
2.3日志格式化
log4j,通常%加其他字符代表以什么格式输出什么信息
三log4j和common-logging、slf4j的关系
网上有很多关于这方面的博客这里暂且不讨论这个问题。
四为什么不用其他的日志工具
log4j很强大、很好用。
五log4j.properties文件示例
下面是实际项目的log4j配置文件
###loggers###
#log4j.rootLoggerINFO,console,R
log4j.rootLoggerINFO,R
#sql
log4j.logger.com.think.base.jdbcERROR###consoleAppender###
log4j.appender.consoleorg.apache.log4j.ConsoleAppender
log4j.appender.console.layoutorg.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern%d{HH:mm:ss,SSS}[%t][%.30c:%L][%p]-%m%n###detailAppender###
log4j.appender.Rorg.apache.log4j.DailyRollingFileAppender
log4j.appender.R.ThresholdERROR
log4j.appender.R.Appendtrue
log4j.appender.R.File/srv/www/app/demo/log/detail.log
log4j.appender.R.DatePattern.yyyy-MM-dd
log4j.appender.R.layoutorg.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern%d{HH:mm:ss,SSS}[%t][%.30c:%L][%p]-%m%n
log4j.rootLoggerINFO,R
表示将INFO级别的日志输出到目的地RR在后面的配置中定义
log4j.logger.com.think.base.jdbcERROR
表示将com.think.base.jdbc这个类的日志级别设为Error
log4j.appender.Rorg.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表示输出日志级别