公司网站的设计规划,专业建设金融行业网站的公司,济南优化官网公司,深圳seo优化公司哪家好Log4j教程 - Log4j安装 Log4j API包是根据Apache软件许可证分发的。 最新的log4j版本#xff0c;包括全源代码#xff0c;类文件和文档可以在http://logging.apache.org/log4j/找到。 我们可以从上面的链接下载apache-log4j-x.x.x.tar.gz或zip文件。 支持库 我们可以使用log4… Log4j教程 - Log4j安装 Log4j API包是根据Apache软件许可证分发的。 最新的log4j版本包括全源代码类文件和文档可以在http://logging.apache.org/log4j/找到。 我们可以从上面的链接下载apache-log4j-x.x.x.tar.gz或zip文件。 支持库 我们可以使用log4j将信息记录到各种目的地例如发送电子邮件数据库或文件。 有一个我们需要放到classpath的库的列表以便log4j可以拿起它并使用它。 例如当从log4j发出电子邮件时我们需要电子邮件库jar文件。 库是可选的并且取决于我们将要与log4j框架一起使用的功能。 JavaMail API(mail.jar): 从https://glassfish.dev.java.net/javaee5/mail/用于基于电子邮件的日志记录。 JavaBeans Activation Framework(activation.jar): 来自http://java.sun.com/products/javabeans/jaf/index.jsp。 Java Message Service: 用于JMS和JNDI。 XML Parser(Xerces.jar): 来自http://xerces.apache.org/xerces-j/install.html。 Maven和Log4j 首先使用以下maven命令创建一个空的Maven项目。 C:\mvn_testmvn archetype:generate -DgroupIdcom.w3cschool.ide -DartifactIdMyTest -DarchetypeArtifactIdmaven-archetype-quickstart -DinteractiveModefalse然后转到项目文件夹并找到pom.xml添加以下依赖关系。 dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.17/version
/dependency 之后将以下代码添加到在resources文件夹下创建的log4j.properties。 MyTest|-src|-main|-java| || -com| || -w3cschool| || -ide|-resources|- log4j.properties 如上面的文件夹结构所示资源位于java文件夹的保存级别。 对于Java Web应用程序将log4j.properties文件存储在WEB-INF/classes目录下 将以下配置保存到log4j.properties文件中。 # Root logger option
log4j.rootLoggerDEBUG, stdout, file# Redirect log messages to console
log4j.appender.stdoutorg.apache.log4j.ConsoleAppender
log4j.appender.stdout.TargetSystem.out
log4j.appender.stdout.layoutorg.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n# Redirect log messages to a log file, support file rolling.
log4j.appender.fileorg.apache.log4j.RollingFileAppender
log4j.appender.file.FileC:\\log4j.log
log4j.appender.file.MaxFileSize5MB
log4j.appender.file.MaxBackupIndex10
log4j.appender.file.layoutorg.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 最后一个%m%n 配置log4j以添加换行符。 L设置从记录请求的行号。 c{1}引用通过 getLogger()设置的日志记录名称。 -5p设置日志记录优先级如DEBUG或ERROR。 log4j日志级别配置参数说明 #通过根日志记录器指定日志级别及输出源
#日志输出的优先级 debug info warn error fatal
#定义根日志记录器的日志级别(info)及输出源的别名(console,myFile)
#该定义让日志在控制台和文件输出并且只输出info级别以上的日志
log4j.rootLoggerinfo,console,myFile#######配置输出源console的具体实现为控制台输出#######
#定义输出源别名console即根日志记录器定义的输出源
#的实现类是ConsoleAppender控制台输出源log4j.appender.consoleorg.apache.log4j.ConsoleAppender
#指定日志输出格式的格式转换器为PatternLayout实现类
log4j.appender.console.layoutorg.apache.log4j.PatternLayout
#定义日志输出的具体格式
log4j.appender.console.layout.ConversionPattern%d %-5p [%c.%M()] - %m%n #######配置输出源myFile的具体实现为文件输出####### #定义输出源别名myFile即根日志记录器定义的输出源 #的实现类是RollingFileAppender文件输出源log4j.appender.myFileorg.apache.log4j.RollingFileAppender #定义日志文件的存储路径 log4j.appender.myFile.Filesrc/log/logProperties/log4j.log #定义日志文件的大小 log4j.appender.myFile.MaxFileSize1024kb #定义日志文件最多生成几个从0开始算1个即此处最多3个文件 #超过该大小则会覆盖前面生成的文件 log4j.appender.myFile.MaxBackupIndex2 #指定日志输出格式的格式转换器为PatternLayout实现类 log4j.appender.myFile.layoutorg.apache.log4j.PatternLayout #定义日志输出的具体格式 log4j.appender.console.layout.ConversionPattern%d %-5p [%c.%M()] - %m%n #######输出格式解释####### #%d: 日志打印的时间点默认格式为ISO8601也可以另外指定格式 #定义如下 %d{yyy年MM月dd日 HH时mm分ss秒SSS}则会输出 #2018年01月06日 14时47分45秒590 #%p: 输出日志级别即DEBUGINFOWARNERRORFATAL #%-5p表示字符小于5位则字符居左不加“-”号则字符居右你可以举一反三 #%c: 日志所在类的全名 #%M: 日志所在方法的名字 #%m: 日志信息 #%n: 输出一个回车换行符 #%L: 输出代码中的行号 最后添加以下代码App.java并运行应用程序。 package com.w3cschool.ide;import org.apache.log4j.Logger;public class App{final static Logger logger Logger.getLogger(App.class);public static void main(String[] args) {App obj new App();obj.runMe(w3cschool);}private void runMe(String parameter){if(logger.isDebugEnabled()){logger.debug(This is debug : parameter);}if(logger.isInfoEnabled()){logger.info(This is info : parameter);}logger.warn(This is warn : parameter);logger.error(This is error : parameter);logger.fatal(This is fatal : parameter);}} 以下代码显示如何记录异常。 import org.apache.log4j.Logger;public class App {final static Logger logger Logger.getLogger(App.class);public static void main(String[] args) {App obj new App();try {obj.divide();} catch (ArithmeticException ex) {logger.error(Sorry, something wrong!, ex);}}private void divide() {int i 10 / 0;}} 转载于:https://www.cnblogs.com/daijiabao/p/11217049.html