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+log4j实现Commonslog测试代码,Commons-logging+log4j实现Commonslog测试代码,
myBaits所有jar包,包括log4j所需jar包,mysql所需jar包,以及maven所需jar包,导入后可以直接运行使用。
对应文章介绍[https://blog.csdn.net/tuzongxun/article/details/56495476],使用slf4j与commons-logging处理日志
资源来自pypi官网。 资源全名:logg3r-0.1.1.tar.gz
Jakarta Commons-logging(JCL)是apache最早提供的日志的门面接口。提供简单的日志实现以及日志解耦功能。
log4net(Log For Net)是Apache开源的应用于.Net框架的日志记录工具,详细信息...它是针对Java的log4j(Log For Java的)姊妹工具.用过log4j的都知道,它功能强大,可配置性灵活,线程安全,对日志的输出管理和级别管理方便。
语言:English 更简单的todo logg是一个更好的thodo(主页中的todo列表)。 Logg支持Google Chrome同步,因此您的所有待办事项列表现在都会同步到所有计算机。
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
日志系统是成熟软件中的一个重要组成部分,其记录软件的使用和运行行为,方便事后进行故障分析、数据统计等。...模块设计过程中参考了Log4j等软件,并结合C++特性,具有高度可拓展、使用灵活、高性能等优点。
Logg的核心是一个模块Logg::Machine ,您可以在一个类中包含(mixin),或在另一个模块中扩展。 这将注入Logg帮助器,因此可以编写如下内容: class Foo include Logg :: Machine end Foo . log . debug "test!" ...
可是现在的开源项目都使用的是 log4j,log4j 已经成了事实上的标准,但由于又有一部分开发者在使用 sun logger,因此 apache 才推出 commons-logging,使得我们不必关注我们正在使用何种日志工具。
我给它数据(颜色,星震,分光等),并且给我结果,例如Teff,logg,年龄,质量等。 这是一个开放项目。 如果有兴趣帮助随时与我联系,提出问题或创建请求请求。 安装 您需要的是python3.6和requirements.txt列出...
总共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
http-logger 用于Node.js的多彩HTTP请求记录器中间件克隆使用并尝试使用npm npm installnpm run dev 显示HTTP方法,原始URL,响应地址,http状态代码以及请求和响应之间的时间。
commons-dbcp-1.2.1.jar commons-pool-1.3.jar struts-legacy.jar
maven所需jar包集合,可以上传到自己的私服
一套国外的商业多用户统计系统