log4j 使用记录
又很懒了。。 好久没来了,必须自我批评一下。。。
===========================我是分割线=============================
鼎鼎大名的log4j,要说用过吧其实也不算的,以前公司里分工太细,配置log这件事情,压根轮不着我,我只需要知道就行,大概会改个info,debug级别,基本上也就不需要干别的了,所以对于它的使用也是模模糊糊,唉,其实是压根不知道。惭愧。。。好弱。。。
这次自己些小工具,可以配置log 当然用system.out.println 也是可以的。。。。 只不过这样真的太low了。。。。
所以还是要想着用一下滴,然后就在网上搜了搜大概怎么用,都干哈的,怎么回事稍微了解了一下。
这是我从好几个博客上摘抄过来了, 最后会附上原文连接的。
1. 在maven中引用包
<dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.1</version></dependency>
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.15</version></dependency> 2. 代码中使用大概是这样屎儿的:
Log logger = LogFactory.getLog(ClassName.class.getName());logger.info("lalalala"). 3. 配置logging.properties
log4j.rootLogger=INFO,all #这个配置了吧,默认所有的log都会遵循这个(没有特殊定制的)log4j.appender.console=org.apache.log4j.ConsoleAppender #默认的appender, 这个是打印到console上log4j.appender.console.layout=org.apache.log4j.PatternLayout #这个吧,布局设置,具体啥可以去官网看看吧 https://logging.apache.org/log4j/1.2/manual.htmllog4j.appender.console.layout.ConversionPattern=%d %-5p %X{processor} %X{module} %X{file} [%t] %c - %m%n # 这个是输出的log每一行的格式,具体意义文后看
# 单独配置一个类的log输出格式log4j.logger.util.UtilClass=DEBUG,ee #如果想要单独给某个类或者某个package中的log特殊指定一下,可以用这个log4j.logger.<包名,或者类名>指定logger, 具体在显示的时候会优先选择粒度最小的相应logger,也就是说如果同时指定了包,以及这个包里面的类的logger,那个这个类就会按照这个类的logger来显示log, 包中其它的类则按照包的logger显示。“ee”是指向相应的名称,可以随便起名,不过不要忘记定义对应的appender,这里也可以有多个appender,到时候log就会在多个地方显示啦。log4j.appender.ee=org.apache.log4j.RollingFileAppender #指定具体怎么处理,这个是指如果文件大小超出限制,就新建个文件存储。 还有写别的,后面会貼。 注意一下“ee” 这个东东,是我在logger那里指定的appender的名称哦。 log4j.appender.ee.File=C:\\temp\\logs\\utils.log #要将log存到哪个文件中log4j.appender.ee.MaxFileSize=100MB #文件大小的配置log4j.appender.ee.MaxBackupIndex=10 #最多几个文件,多了就删掉啦。log4j.appender.ee.layout=org.apache.log4j.PatternLayoutlog4j.appender.ee.layout.ConversionPattern=%d %-5p %X{processor} %X{module} %X{file} [%t] %c - %m%n 4. 最后我要怎么使这个配置文件啊。。。。 此段纯复制粘贴的
在默认情况下 log4j 会从WEB-INF/classes/ 下读取log4j.properties
我们可以通过多种方式修改配置文件的位置
a.在web.xml中指定:
web.xml
Xml代码 收藏代码
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
b.注册在System.properties里
Java代码 收藏代码
-Dlog4j.configuration=file:/home/bea/log4j1.propertie
c.注册在环境变量里
Java代码 收藏代码
LOG4J_CONFIG_FILE=/home/bea/log4j.properties
最后,复制粘贴一些前面挖下的坑:
Log4J配置文件的基本格式如下:
log4j.rootLogger = [ level ] , appenderName1 , appenderName2 , …
#配置日志信息输出目的地Appender
log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
…
log4j.appender.appenderName.optionN = valueN
#配置日志信息的格式(布局)
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
log4j.appender.appenderName.layout.option1 = value1
…
log4j.appender.appenderName.layout.optionN = valueN
其中 [level] 是日志输出级别,共有5级:
ERROR 3
WARN 4
INFO 6
DEBUG 7
Appender 为日志输出目的地,Log4j提供的appender有以下几种:
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
Layout:日志输出格式,Log4j提供的layout有以下几种:
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
打印参数: Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,如下:
%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 )
查看更多: https://logging.apache.org/log4j/2.x/manual/layouts.html
剩下的看原文吧:
http://blog.csdn.net/azheng270/article/details/2173430/
http://blog.csdn.net/memray/article/details/18193449
http://www.thinksaas.cn/group/topic/101727/
http://www.blogjava.net/wilesun/archive/2007/10/30/156999.html
转载于:https://www.cnblogs.com/exxia/p/5083581.html
log4j 使用记录相关推荐
- Hibernate Log4j日志记录
Hibernate Log4j日志记录 欢迎来到Hibernate Log4j Logging示例.Hibernate 4在旧的hibernate版本中使用JBoss日志而不是slf4j.今天我们将研 ...
- 【ELK】ELK菜鸟手记 (一) 环境配置+log4j日志记录——转自Master HaKu
感谢Master HaKu的分享,博客园的账号忘了,文章里面有原文链接,尊重原创 ELK菜鸟手记 (一) 环境配置+log4j日志记录 - Master HaKu - 博客园 Master HaKu ...
- Hibernate 使用log4j日志记录
日志记录使程序员能够将日志详细信息永久写入文件.这是我们以后在开发当中非常重要的一步. Hibernate使用log4j日志记录,我们需要以下几个步骤: 1.导入jar包: (1)这是hibernat ...
- log4j日志记录级别是如何工作?
级别p的级别使用q,在记录日志请求时,如果p>=q启用.这条规则是log4j的核心.它假设级别是有序的.对于标准级别它们关系如下:ALL < DEBUG < INFO < WA ...
- java log4j 多个文件_为什么log4j会记录到两个单独的文件? [重复]
这个问题在这里已有答案: 我有以下 log4j.properties 文件,默认的appender和特定类的单独的appender log4j.rootLogger=DEBUG, STDOUT, de ...
- 通过url来设置log4j的记录级别
2019独角兽企业重金招聘Python工程师标准>>> 直接看代码. import org.apache.log4j.AppenderSkeleton; import org.apa ...
- java开源项目之IQQ学习记录之单例模式与log4j日志记录
作者:sushengmiyan 本文地址:http://blog.csdn.net/sushengmiyan/article/details/18992741 打开IQQ项目,打开包iqq.app中的 ...
- 记录报错日志——Log4j方式
记录报错日志--Log4j方式 记录错误日志有以下好处:1,方便调试2,便于发现系统运行过程中的错误3,存储业务数据,便于后期分析 在java中,记录日志有很多种方式,本文介绍使用Log4j方式: 使 ...
- log4j中调试与错误日志分开_Log4j 配置
我们可以通过设置Log Level,定义Appender和在配置文件中指定Layout对象来配置log4j. log4j.properties 文件是一个log4j配置文件,它保留键 - 值对中的属性 ...
最新文章
- 大厂php怎么做前端,大厂前端经典面试问题精选(附答案)
- 16个不错的 git 别名
- 运维分级发布_华为杨超斌发布面向“1+N”目标网的5G全系列解决方案
- 【暑假训练 7.10】 codevs 2492 上帝造题的七分钟2
- linux下查看cpu信息
- python用字典统计单词出现次数_python - 如何使用字典理解来计算文档中每个单词的出现次数...
- 在 Mac 上的 Keynote 中如何先排版再选照片?
- vue-cli设置proxy代理
- 基于YOLO的目标检测系统实践
- Delta3D(7)教程:在场景编辑器中加载角色
- 从北斗到Mate 50:星空中的中国式浪漫
- 网站上传服务器浏览器打不开,网站发布或自己上传程序后,网站打不开的原因有哪些?...
- 腾讯视频和优酷视频怎么嵌入网页的方法
- PDF打开口令、PDF编辑限制如何解决
- 2016互联网金融安全峰会报名
- 为什么wps数字前面有撇号_excel表格中数据前有撇号-Excel 如何去除数字前面的撇号...
- Java操作Excel之Excel文件的下载
- OpenGPU.org域名已经被劫持
- 4.5 没有自学,不是大学——《逆袭大学》连载
- mac迅雷如何批量下载页面全部链接(无需插件,只需三步)
热门文章
- 为什么互联网需要采用去中心化结构?
- 基于 ijkplayer开发的Android直播软件
- android 应用图标替换后手机安装还显示旧的图标或者显示android小人人
- excel上下标录入技巧
- Unity FairyGUI(十二)
- 弘辽科技:拼多多推广单元和推广计划是一样的吗?
- api-ms-win-crt-stdio-l1-1-0.dll丢失问题解决
- 人生把我当成了戏子,我只好把你们当成婊子
- 禁用win10笔记本键盘
- oracle rebuild online,Oracle index rebuild online 与 rebuild 及 drop index 后重建