`
hunter090730
  • 浏览: 194638 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

log4j的总结

    博客分类:
  • SSH
 
阅读更多

环境:JDK1.6+Spring2.5+log4j-1.2.15.jar+commons-logging.jar

我配置文件均在src根目录上,都是用在project上。

log4j整合app应用中有两种方法;一种是log4j.xml,一种是log4j.properties。

我在用log4j.xm时,系统总出如下错误:(且无法写日志)

 

log4j:WARN No appenders could be found for logger (org.springframework.context.support.ClassPathXmlApplicationContext).

log4j:WARN Please initialize the log4j system properly.

log4j.xml配置文件如下:

 

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

 

<log4j:configuration>

<appender name="logs"

class="org.apache.log4j.RollingFileAppender">

<param name="Encoding" value="GBK" />

<param name="File" value="xmlLogs/logs.log" />

<param name="MaxBackupIndex" value="300" />

<param name="MaxFileSize" value="10000" />

<layout class="org.apache.log4j.PatternLayout">

<param name="ConversionPattern"

value="%d{ISO8601} %p - %m %n" />

</layout>

<filter class="org.apache.log4j.varia.LevelRangeFilter">

<param name="LevelMin" value="info" />

<param name="LevelMax" value="error" />

<param name="acceptOnMatch" value="true" />

</filter>

</appender>

 

<appender name="synlogs"

class="org.apache.log4j.DailyRollingFileAppender">

<param name="Encoding" value="GBK" />

<param name="File" value="xmlLogs/synLogs.log" />

<param name="DatePattern" value="'.'yyyy-MM-dd" />

<layout class="org.apache.log4j.PatternLayout">

<param name="ConversionPattern"

value="%d{ISO8601} %p - %m %n" />

</layout>

<filter class="org.apache.log4j.varia.LevelRangeFilter">

<param name="LevelMin" value="debug" />

<param name="LevelMax" value="error" />

<param name="acceptOnMatch" value="true" />

</filter>

</appender>

 

 

<logger name="com.me.conn" additivity="false">

<level value="info" />

<appender-ref ref="logs" />

</logger>

 

<logger name="com.me.service" additivity="false">

<level value="info" />

<appender-ref ref="synlogs" />

</logger>

 

 

<root>

<priority value="info" />

<appender-ref ref="logs" />

<appender-ref ref="synlogs" />

</root>

 

 

</log4j:configuration>

后来,log4j里在加了如上红色的代码,问题才得以解决。

=====log4j.properties====

 

#log4j.rootLogger=debug, stdout, R,D

log4j.rootLogger=INFO, R,D

#log4j.appender.stdout=org.apache.log4j.ConsoleAppender

#log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

 

#log4j.appender.stdout.layout.ConversionPattern=%5p - %m%n

 

log4j.appender.R=org.apache.log4j.RollingFileAppender

log4j.appender.R.File=logs/log.log

log4j.appender.R.MaxFileSize=100KB

log4j.appender.R.MaxBackupIndex=22

log4j.appender.R.layout=org.apache.log4j.PatternLayout

log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

 

### output daily file ###

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender

log4j.appender.D.File = logs/DailyLog.log

log4j.appender.D.Append = true

log4j.appender.D.Threshold = DEBUG 

log4j.appender.D.layout = org.apache.log4j.PatternLayout

log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

 

#log4j.logger.com.codefutures=DEBUG

 

调用方式为:

 

Log logger = LogFactory.getLog(ApplicationTest.class);

logger.info("就可以了");
主要是实现了:两种appender方式。
org.apache.log4j.RollingFileAppender
org.apache.log4j.DailyRollingFileAppender

 

 

  1.  <!-- ========================== 自定义输出格式说明================================ -->  
  2.     <!-- %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL -->  
  3.     <!-- #%r 输出自应用启动到输出该log信息耗费的毫秒数  -->  
  4.     <!-- #%c 输出所属的类目,通常就是所在类的全名 -->  
  5.     <!-- #%t 输出产生该日志事件的线程名 -->  
  6.     <!-- #%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n” -->  
  7.     <!-- #%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921  -->  
  8.     <!-- #%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)  -->  
  9.     <!-- ========================================================================== -->  
  10.       
  11.     <!-- ========================== 输出方式说明================================ -->  
  12.     <!-- Log4j提供的appender有以下几种:  -->  
  13.     <!-- org.apache.log4j.ConsoleAppender(控制台),  -->  
  14.     <!-- org.apache.log4j.FileAppender(文件),  -->  
  15.     <!-- org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件), -->  
  16.     <!-- org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),  -->  
  17.     <!-- org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)   -->  
  18. <!-- ========================================================================== -->  

 

 

分享到:
评论

相关推荐

    Log4j总结

    总结,Log4j作为一个成熟的日志框架,其强大的功能和广泛的社区支持使其在Java开发领域有着不可替代的地位。掌握Log4j的使用和配置,能有效提升开发效率,同时也有助于提高系统的可维护性和稳定性。通过深入学习其...

    若依框架使用的log4j2.16.0,修复log4j漏洞log4j2下载最新log4j2.16.0下载

    总结来说,Log4j2.16.0是一个关键的安全更新,解决了Log4j2框架中的“Log4Shell”漏洞。对于使用若依框架或其他依赖Log4j2的项目,升级到这个版本至关重要,可以避免系统遭受恶意攻击。用户需要下载并正确安装这个...

    log4j+slf4j实现 log4j测试代码,log4j+slf4j实现 log4j测试代码

    总结,SLF4J和Log4j的组合使用让日志管理更加灵活,开发者可以通过SLF4J的简洁API进行日志记录,同时利用Log4j的强大功能,如自定义输出格式和多种输出目的地。通过适当的配置和测试,我们可以确保日志系统按照预期...

    SpringBoot框架配置log4j和log4j2的配置代码

    Log4j和Log4j2是两种广泛使用的Java日志框架,它们提供了灵活的日志配置和高性能的日志处理能力。本文将详细介绍如何在SpringBoot项目中配置Log4j和Log4j2。 ### SpringBoot与Log4j Log4j是Apache的一个开源项目,...

    log4j-1.2.15.jar

    《深入理解Log4j 1.2.15.jar:日志管理的基石》 在IT行业中,日志管理是一项至关重要的任务,它对于系统监控、故障排查以及性能优化起着不可忽视的作用。Log4j作为Java平台上的一个经典日志记录框架,因其强大的...

    log4j-1.2.17的jar包以及依赖包,还有一份log4j的配置文件,输出到控制台和文件夹两种配置

    总结来说,Log4j-1.2.17提供了灵活的日志管理功能,通过配置文件可以定制化日志输出的方式和内容,对于开发、调试和维护Java应用具有极大的帮助。尽管有更新的版本如Log4j2可用,但Log4j 1.x仍然在许多项目中得到...

    Log4j将System.out搞到log4j中输出四

    总结来说,Log4j提供了一套强大的日志管理框架,通过自定义Appender和PrintStream,我们可以轻松地将`System.out.println()`的输出整合到Log4j中,从而实现日志的集中管理和分析。这对于大型项目或者需要严格监控的...

    log4j jar包

    总结,Log4j作为Java日志处理的重要工具,其灵活性和强大功能使其在开发和运维工作中占据了重要地位。了解并熟练掌握Log4j的使用,有助于提升开发效率,优化系统的可维护性。然而,随着技术的发展,建议关注更新的...

    tomcat下的log4j日志配置

    ### Tomcat 下的 Log4j 日志配置详解 在日常的 Web 开发中,日志记录对于调试问题、监控系统状态以及后期维护来说至关重要。在使用 Apache Tomcat 作为服务器时,合理配置日志框架(如 Log4j)能够极大地提高开发...

    log4j-1.2.16下载

    总结,Log4j-1.2.16作为一款成熟稳定的日志框架,其强大而灵活的功能使得它在Java开发中有着广泛的应用。理解并掌握其核心组件和配置方式,能够帮助开发者更好地利用日志进行问题排查,提升开发效率。在实际应用中,...

    log4j2.17.2

    总结,log4j2.17.2是应对Log4j2 RCE漏洞的重要更新,通过加强安全配置和限制危险功能,为Java应用程序提供了更坚固的安全屏障。对于依赖Log4j2的系统而言,及时升级至该版本是保障系统安全、防范潜在风险的有效手段...

    log4j.1.2.17

    总结来说,Log4j 1.2.17作为一个成熟的日志框架,提供了一套完整的日志解决方案。正确理解和使用Log4j,不仅能够提升开发效率,还能确保系统的可维护性和稳定性。对于初学者而言,掌握其基本原理和配置技巧,是成为...

    log4j jarjar包

    总结来说,Log4j作为一个强大的日志框架,其强大的功能和高度可定制性使得它在Java项目中占据着重要地位。正确理解和使用log4j-1.2.16.jar,不仅可以提升开发效率,还能为项目的稳定性和维护性提供有力保障。通过...

    log4j-1.2.17.jar下载

    总结,Log4j-1.2.17.jar作为一款强大的日志工具,通过灵活的配置和丰富的API,为Java开发者提供了强大的日志管理能力。正确理解和运用Log4j,能有效提升开发效率,便于问题排查,是每个Java程序员必备的技能之一。

    log4j按功能保存日志

    总结,Log4j提供了一种灵活的方式来管理和组织日志,使其能够按功能模块保存,这对于大型项目来说尤其重要。通过正确配置,不仅可以方便地追踪和分析问题,还能优化系统性能,确保日志系统在不影响业务运行的前提下...

    Log4J完整说明和配置

    ### Log4J完整说明与配置解析 #### 一、Log4J简介 Log4J是Apache的一个开源项目,用于提供灵活的日志记录功能。通过它,开发者能够控制日志信息的输出级别、输出目的地(控制台、文件等)、格式化方式等。本文将...

    log4j-1.2.17.jar及配置文件

    《log4j-1.2.17.jar及其配置文件详解》 在IT行业中,日志记录是一项至关重要的任务,它能帮助开发者追踪程序运行状况、定位错误和调试问题。Log4j,作为Apache软件基金会的一个开源项目,是Java平台上广泛使用的...

    log4j使用总结

    Log4j 使用总结 Log4j 是 Apache 的一个开放源代码项目,通过使用 Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI 组件、甚至是套接口服务器、NT 的事件记录器、UNIX Syslog 守护进程等;我们也可以...

    log4j2漏洞检测工具

    **Log4j2漏洞检测工具详解** 在当前的IT环境中,安全问题日益凸显,特别是针对开源组件的安全漏洞。Log4j2,一个广泛使用的Java日志框架,最近曝出的重大安全漏洞(CVE-2021-44228,被称为Log4Shell)引起了全球的...

    java 中log4j包总结的各个版本

    总结来说,Log4j-1.2.4是Log4j的一个经典版本,虽然功能可能没有最新版本强大,但在许多项目中仍然被广泛使用,尤其对于那些不追求最新特性的稳定项目。了解和掌握它的使用方法,可以帮助我们更好地管理和调试Java...

Global site tag (gtag.js) - Google Analytics