log4j日志的使用

来源:互联网 发布:买刷枪软件 编辑:程序博客网 时间:2024/05/29 03:20

    日志是很重要的一个东西 能够帮助你维护好你的代码 在开发阶段也能帮你发现错误 

    目前 经常使用的日志 大概就是log4j slf4j logback 这三个 但是这三个不能都组合在一起 常用的组合 log4j+slf4j slf4j+logback

    如果要使用log4j的话 我是使用了log4j+slf4j的组合 这个组合需要的包:

   



  也有很多人选择用log4j去桥接slf4j的包 但是 log4j-over-slf4j 这个包不能和 slf4j-log4j12 这个包共存 他们会相互调用 导致stackover 由于项目中使用的jsr303验证需要后者包 所以就选择了这种的桥接方式 这样丝毫不会影响你使用log4j输出日志 

 配置:

log4j.rootLogger=ERROR,Console,File    #控制台日志  log4j.appender.Console=org.apache.log4j.ConsoleAppender  log4j.appender.Console.Target=System.out  log4j.appender.Console.layout=org.apache.log4j.PatternLayout  log4j.appender.Console.layout.ConversionPattern=[%p][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n    #普通文件日志  log4j.appender.File=org.apache.log4j.DailyRollingFileAppender  log4j.appender.File.Append = true  log4j.appender.File.File=logs/bidlog4j.appender.File.DatePattern=yyyy-MM-dd'.log'#输出日志,如果换成DEBUG表示输出DEBUG以上级别日志log4j.appender.File.layout=org.apache.log4j.PatternLayout  log4j.appender.File.layout.ConversionPattern=[bid]%p[%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n  
如果将第一行的ERROR 改为DEBUG 那么项目启动的时候会大量的输出日志 

然后日志的生成的策略是每天生成 也就是说你如果是第一天使用日志 日志的名字不会加上 你所配置的追加后缀 第二天才会出来 

差点忘记了 这个默认生成文件的位置是服务器的bin路径下 也就是File.File那里配置的东西 如果你使用的tomcat就去tomcat的bin路径下招  想要直接输出到项目下 很复杂 没有找到简单的办法 有知道的麻烦告诉一下。。纠结了很久。。

web.xml中的配置:

<context-param>    <param-name>log4jConfigLocation</param-name>    <param-value>WEB-INF/classes/log4j.properties</param-value></context-param>
这个地方为什么要放在web-inf下 就是因为每次启动的时候提示找不到配置文件 但是日志又正常输出 。。。很诡异  最后复制一份 放在了classes里面  就不报错了。

<!--利用spring使用log4j--><listener>    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class></listener>
这个spring管理日志的东西 。。有点奇怪的一点是spring好像抛弃了log4j 网上搜索了很多都没有结果 就是你选择listener的时候 会发现log4jConfigListener被划掉了 但是最后也不会影响使用 


最后贴一下我经常去下载包的网址 :

http://mvnrepository.com/

这都是没用maven的锅。。。

原创粉丝点击