2006年的时候也有记录了一些LOG4J的笔记,现在在去年的基础上也增加了一些内容.
比较重要的几个参数
log4j.additivity. --设置是否屏蔽其他的LOG对象输出
log4j.appender.csrout.Threshold --设置输出的LOG的LEVEL
现在用一个应用系统的LOG来讲解:
应用有以下目录
├─javabean
│ └─com
│ ├─test
│ │ ├─db
│ │ ├─business
│ │ └─web
│ └─common
└─webapp
现在要求LOG输出如下:
1.com.test.db内的BEAN,如果有 ERROR的LOG的就输出控制台,并输出到一个指定的DB.LOG文件
2.com.test.business内的BEAN,将INFO的信息输出到控制台,ERROR的信息输出到一个指定的BUSINESS.LOG文件
3.com.test.web内的BEAN,只有在FETAL的情况下输出到控制台,并输出到一个指定WEB.LOG文件
4.对除上述三种的情况外,如com.common下的BEAN,只有在ERROR的情况下输出到控制台,并输出到一个指定APPLICATION.LOG文件
log4j.properties 文件配置如下
log4j.rootLogger=error, stdout,aplog --定义全局的LOG输出等级以及相应的CONSOLE
log4j.logger.com.test.db=error,stdout,dblog --定义com.test.db的输出LOG的LEVEL-ERROR,对应的 控制台ConsoleAppender,对应的RollingFileAppender
log4j.logger.com.test.business=info,stdout,bslog
log4j.logger.com.test.web=fetal,stdout,weblog
--配置additivity(这个将各个BEAN输出到各自LOG的关键,如果没有以下设置,将会是DB的LOG也会写到其他的LOG文件中)
log4j.logger.com.test.db=false
log4j.logger.com.test.business=false
log4j.logger.com.test.web=false
--控制台ConsoleAppender配置
showloglevel=debug --输出等级的限制(这里选择最低的DEBUG,原因可以自己理解 和上面的配置有关联)
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold=${showloglevel}
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
--LOG文件RollingFileAppender配置
logpath=c:/log/ --LOG的输出路径
log4j.appender.aplog=org.apache.log4j.RollingFileAppender
log4j.appender.aplog.File=${logpath}aplog.log
log4j.appender.aplog.MaxFileSize=1000KB
log4j.appender.aplog.MaxBackupIndex=5
log4j.appender.aplog.layout=org.apache.log4j.PatternLayout
log4j.appender.aplog.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] [%-5p] [%C{2}:%M:%L] [%m]%n
log4j.appender.dblog=org.apache.log4j.RollingFileAppender
log4j.appender.dblog.File=${logpath}dblog.log
log4j.appender.dblog.MaxFileSize=1000KB
log4j.appender.dblog.MaxBackupIndex=5
log4j.appender.dblog.layout=org.apache.log4j.PatternLayout
log4j.appender.dblog.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] [%-5p] [%C{2}:%M:%L] [%m]%n
log4j.appender.bslog=org.apache.log4j.RollingFileAppender
log4j.appender.bslog.File=${logpath}bslog.log
log4j.appender.bslog.MaxFileSize=1000KB
log4j.appender.bslog.MaxBackupIndex=5
log4j.appender.bslog.layout=org.apache.log4j.PatternLayout
log4j.appender.bslog.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] [%-5p] [%C{2}:%M:%L] [%m]%n
log4j.appender.weblog=org.apache.log4j.RollingFileAppender
log4j.appender.weblog.File=${logpath}weblog.log
log4j.appender.weblog.MaxFileSize=1000KB
log4j.appender.weblog.MaxBackupIndex=5
log4j.appender.weblog.layout=org.apache.log4j.PatternLayout
log4j.appender.weblog.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] [%-5p] [%C{2}:%M:%L] [%m]%n
附录:通过EMAIL发送(未验证,2006的时候没有去下载那两个包,也许问题就在那两个包上,当然和安装系统的网络环境也该也有关系)
发送email通知管理员:
1. 首先下载JavaMail和JAF,
http://java.sun.com/j2ee/ja/javamail/index.html
http://java.sun.com/beans/glasgow/jaf.html
在项目中引用mail.jar和activation.jar。
2. 写配置文件
# 将日志发送到email
log4j.logger.MailLog=WARN,A5
# APPENDER A5
log4j.appender.A5=org.apache.log4j.net.SMTPAppender
log4j.appender.A5.BufferSize=5
log4j.appender.A5.To=chunjie@263.net
log4j.appender.A5.From=error@error.com
log4j.appender.A5.Subject=ErrorLog
log4j.appender.A5.SMTPHost=smtp.263.net
log4j.appender.A5.layout=org.apache.log4j.PatternLayout
log4j.appender.A5.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
分享到:
相关推荐
将Apache Log4j SLF4J API绑定到Log4j 2 Core org.apache.logging.log4j/log4j-slf4j-impl/2.9.1/log4j-slf4j-impl-2.9.1.jar
Commons-Logging是Apache软件基金会开发的一个Java日志抽象层,它为各种日志框架提供了一个统一的接口,包括Log4j、Java内置的日志API(java.util.logging)以及Simple Logging Facade for Java (SLF4J)。...
这个压缩包包含了MyBatis框架运行所必需的jar包,同时也提供了log4j和MySQL数据库连接所需的库,以及可能用于Maven构建系统的相关依赖。以下是对这些关键组件的详细解释: 1. **MyBatis jar包**:MyBatis的核心库...
SLF4J(Simple Logging Facade for Java)和Apache Commons Logging是两个在Java开发中广泛使用的日志框架。它们提供了一种抽象层,允许开发者在不修改代码的情况下切换不同的日志实现,如Log4j、Java Util Logging ...
标题中的"PyPI 官网下载 | logg3r-0.1.1.tar.gz"表明这是一个在Python Package Index(PyPI)上发布的开源软件包,名为"logg3r",版本为0.1.1,其源代码被打包成了tar.gz格式。PyPI是Python开发者发布自己编写模块或...
这个接口允许开发者选择在运行时插入任何支持的底层日志框架,如Log4j、java.util.logging或SimpleLog,而无需修改代码。通过这种方式,JCL实现了日志系统的解耦,使得开发者可以方便地更换日志实现,以满足不同的...
语言:English 更简单的todo logg是一个更好的thodo(主页中的todo列表)。 Logg支持Google Chrome同步,因此您的所有待办事项列表现在都会同步到所有计算机。
log4net借鉴了Java世界中广受欢迎的log4j的设计理念,为.NET开发者带来了一致且高效的日志记录体验。 #### 二、log4net的核心优势 1. **强大的功能**:log4net提供了丰富的特性,如日志级别管理、多目标输出等,...
Apache Log4j Flume Appender org.apache.logging.log4j/log4j-flume-ng/2.0-beta6/log4j-flume-ng-2.0-beta6.jar
Apache Log4j Flume Appender org.apache.logging.log4j/log4j-flume-ng/2.0-beta5/log4j-flume-ng-2.0-beta5.jar
Logg的核心是一个模块Logg::Machine ,您可以在一个类中包含(mixin),或在另一个模块中扩展。 这将注入Logg帮助器,因此可以编写如下内容: class Foo include Logg :: Machine end Foo . log . debug "test!" ...
日志系统是成熟软件中的一个重要组成部分,其记录软件的使用和运行行为,方便事后进行故障分析、数据统计等。...模块设计过程中参考了Log4j等软件,并结合C++特性,具有高度可拓展、使用灵活、高性能等优点。
可是现在的开源项目都使用的是 log4j,log4j 已经成了事实上的标准,但由于又有一部分开发者在使用 sun logger,因此 apache 才推出 commons-logging,使得我们不必关注我们正在使用何种日志工具。
总共6个jar包 commons-collections-3.2.1.jar commons-httpclient-3.1.jar commons-lang-2.5.jar commons-logging-1.1.1.jar ezmorph-1.0.6.jar json-lib-2.2.3-jdk13.jar
struts2-2.0用到的核心jar包,包括commons-logging-1.0.4.jar,freemarker-2.3.8.jar,ognl-2.6.11.jar,struts2-core-2.0.14.jar,struts2-dojo-plugin-2.1.8.1.jar,xwork-2.0.7.jar
Apache Commons Logging是一个轻量级的日志接口抽象层,允许开发者在不修改代码的情况下切换不同的日志实现,如Log4j、Java内置的日志系统(java.util.logging)或SLF4J等。它提供了一个简单的API,使得代码与具体...
这个库的主要目的是提供一个统一的日志API,使得开发者能够在不关心具体日志实现的情况下,方便地切换不同的日志框架,如Log4j、Java内置的日志系统(java.util.logging)或SLF4J等。 Commons Logging的设计理念是...
http-logger 用于Node.js的多彩HTTP请求记录器中间件克隆使用并尝试使用npm npm installnpm run dev 显示HTTP方法,原始URL,响应地址,http状态代码以及请求和响应之间的时间。
在Java开发中,这三个JAR文件分别是Apache Commons项目的一部分,以及Struts框架的一个遗留版本。以下是关于这些组件的详细知识: 1. **Apache Commons DBCP** (Database Connection Pool): - Apache Commons ...
maven所需jar包集合,可以上传到自己的私服