又很懒了。。 好久没来了,必须自我批评一下。。。

===========================我是分割线=============================

鼎鼎大名的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配置文件的基本格式如下:

#配置根Logger
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级:

FATAL       0  
ERROR      3  
WARN       4  
INFO         6  
DEBUG      7 


Appender 
为日志输出目的地,Log4j提供的appender有以下几种:

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

Layout:日志输出格式,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 ) 

查看更多: 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 使用记录相关推荐

  1. Hibernate Log4j日志记录

    Hibernate Log4j日志记录 欢迎来到Hibernate Log4j Logging示例.Hibernate 4在旧的hibernate版本中使用JBoss日志而不是slf4j.今天我们将研 ...

  2. 【ELK】ELK菜鸟手记 (一) 环境配置+log4j日志记录——转自Master HaKu

    感谢Master HaKu的分享,博客园的账号忘了,文章里面有原文链接,尊重原创 ELK菜鸟手记 (一) 环境配置+log4j日志记录 - Master HaKu - 博客园 Master HaKu ...

  3. Hibernate 使用log4j日志记录

    日志记录使程序员能够将日志详细信息永久写入文件.这是我们以后在开发当中非常重要的一步. Hibernate使用log4j日志记录,我们需要以下几个步骤: 1.导入jar包: (1)这是hibernat ...

  4. log4j日志记录级别是如何工作?

    级别p的级别使用q,在记录日志请求时,如果p>=q启用.这条规则是log4j的核心.它假设级别是有序的.对于标准级别它们关系如下:ALL < DEBUG < INFO < WA ...

  5. java log4j 多个文件_为什么log4j会记录到两个单独的文件? [重复]

    这个问题在这里已有答案: 我有以下 log4j.properties 文件,默认的appender和特定类的单独的appender log4j.rootLogger=DEBUG, STDOUT, de ...

  6. 通过url来设置log4j的记录级别

    2019独角兽企业重金招聘Python工程师标准>>> 直接看代码. import org.apache.log4j.AppenderSkeleton; import org.apa ...

  7. java开源项目之IQQ学习记录之单例模式与log4j日志记录

    作者:sushengmiyan 本文地址:http://blog.csdn.net/sushengmiyan/article/details/18992741 打开IQQ项目,打开包iqq.app中的 ...

  8. 记录报错日志——Log4j方式

    记录报错日志--Log4j方式 记录错误日志有以下好处:1,方便调试2,便于发现系统运行过程中的错误3,存储业务数据,便于后期分析 在java中,记录日志有很多种方式,本文介绍使用Log4j方式: 使 ...

  9. log4j中调试与错误日志分开_Log4j 配置

    我们可以通过设置Log Level,定义Appender和在配置文件中指定Layout对象来配置log4j. log4j.properties 文件是一个log4j配置文件,它保留键 - 值对中的属性 ...

最新文章

  1. 大厂php怎么做前端,大厂前端经典面试问题精选(附答案)
  2. 16个不错的 git 别名
  3. 运维分级发布_华为杨超斌发布面向“1+N”目标网的5G全系列解决方案
  4. 【暑假训练 7.10】 codevs 2492 上帝造题的七分钟2
  5. linux下查看cpu信息
  6. python用字典统计单词出现次数_python - 如何使用字典理解来计算文档中每个单词的出现次数...
  7. 在 Mac 上的 Keynote 中如何先排版再选照片?
  8. vue-cli设置proxy代理
  9. 基于YOLO的目标检测系统实践
  10. Delta3D(7)教程:在场景编辑器中加载角色
  11. 从北斗到Mate 50:星空中的中国式浪漫
  12. 网站上传服务器浏览器打不开,网站发布或自己上传程序后,网站打不开的原因有哪些?...
  13. 腾讯视频和优酷视频怎么嵌入网页的方法
  14. PDF打开口令、PDF编辑限制如何解决
  15. 2016互联网金融安全峰会报名
  16. 为什么wps数字前面有撇号_excel表格中数据前有撇号-Excel 如何去除数字前面的撇号...
  17. Java操作Excel之Excel文件的下载
  18. OpenGPU.org域名已经被劫持
  19. 4.5 没有自学,不是大学——《逆袭大学》连载
  20. mac迅雷如何批量下载页面全部链接(无需插件,只需三步)

热门文章

  1. 为什么互联网需要采用去中心化结构?
  2. 基于 ijkplayer开发的Android直播软件
  3. android 应用图标替换后手机安装还显示旧的图标或者显示android小人人
  4. excel上下标录入技巧
  5. Unity FairyGUI(十二)
  6. 弘辽科技:拼多多推广单元和推广计划是一样的吗?
  7. api-ms-win-crt-stdio-l1-1-0.dll丢失问题解决
  8. 人生把我当成了戏子,我只好把你们当成婊子
  9. 禁用win10笔记本键盘
  10. oracle rebuild online,Oracle index rebuild online 与 rebuild 及 drop index 后重建