目录

1 入门示例

2 Log4j基本使用方法

2.1 定义配置文件

2.2 在代码中使用Log4j

2.3 日志级别

3 Web项目中使用Log4j实例

4 Spring中使用Log4j

5 总结


1 入门示例

1.1 新建一个Java工程,导入包log4j-1.2.17.jar,整个工程最终目录如下

1.2 src同级创建并设置log4j.properties

### 设置###
log4j.rootLogger = debug,stdout,D,E### 输出信息到控制抬 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n### 输出DEBUG 级别以上的日志到=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E://logs/log.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### 输出ERROR 级别以上的日志到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =E://logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

1.3 设置日志内容

package com.mucfc;
import org.apache.log4j.Logger;
/***@author linbingwen*@2015年5月18日9:14:21*/
public class Test {private static Logger logger = Logger.getLogger(Test.class);  /** * @param args */  public static void main(String[] args) {  // System.out.println("This is println message.");  // 记录debug级别的信息  logger.debug("This is debug message.");  // 记录info级别的信息  logger.info("This is info message.");  // 记录error级别的信息  logger.error("This is error message.");  }  }

1.4 输出结果

(1)首先是控制台的信息

(2)再来看输出的文件

内容如下,发现已按照要求输出到对应的文档中去了。

2 Log4j基本使用方法

Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显 示内容。

2.1 定义配置文件

其实您也可以完全不使用配置文件,而是在代码中配置Log4j环境。但是,使用配置文件将使您的应用程序更加灵活。Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件(键=值)。下面我们介绍使用Java特性文件做为配置文件的方法:
1.配置根Logger,其语法为:

log4j.rootLogger = [ level ] , appenderName, appenderName, …

其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优 先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定 义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。 appenderName就是指B日志信息输出到哪个地方。您可以同时指定多个输出目的地。

2.配置日志信息输出目的地Appender,其语法为:

log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
…
log4j.appender.appenderName.option = valueN

其中,Log4j提供的appender有以下几种:

org.apache.log4j.ConsoleAppender(控制台),  
org.apache.log4j.FileAppender(文件),  
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),  
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),  
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

3.配置日志信息的格式(布局),其语法为:

log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
log4j.appender.appenderName.layout.option1 = value1
…
log4j.appender.appenderName.layout.option = valueN

其中,Log4j提供的layout有以下几种:

org.apache.log4j.HTMLLayout(以HTML表格形式布局),  
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),  
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),  
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下:

%m 输出代码中指定的消息
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)

2.2 在代码中使用Log4j

1.获取记录器

使用Log4j,第一步就是获取日志记录器,这个记录器将负责控制日志信息。其语法为:

public static Logger getLogger( String name)

通过指定的名字获得记录器,如果必要的话,则为这个名字创建一个新的记录器。Name一般取本类的名字,比如:

static Logger logger = Logger.getLogger ( ServerWithLog4j.class.getName () )

2.读取配置文件

当获得了日志记录器之后,第二步将配置Log4j环境,其语法为:

BasicConfigurator.configure (): 自动快速地使用缺省Log4j环境。

PropertyConfigurator.configure ( String configFilename) :读取使用Java的特性文件编写的配置文件。

DOMConfigurator.configure ( String filename ) :读取XML形式的配置文件。

3.插入记录信息(格式化日志信息)

当上面两个必要步骤执行完毕,您就可以轻松地使用不同优先级别的日志记录语句插入到您想记录日志的任何地方,其语法如下:

Logger.debug ( Object message ) ;

Logger.info ( Object message ) ;

Logger.warn ( Object message ) ;

Logger.error ( Object message ) ;

2.3 日志级别

每个Logger都被定义了一个日志级别(log level),用来控制日志信息的输出。日志级别从高到低分为:
A:off 最高等级,用于关闭所有日志记录。
B:fatal 指出每个严重的错误事件将会导致应用程序的退出。
C:error 指出虽然发生错误事件,但仍然不影响系统的继续运行。
D:warm 表明会出现潜在的错误情形。
E:info 一般和在粗粒度级别上,强调应用程序的运行全程。
F:debug 一般用于细粒度级别上,对调试应用程序非常有帮助。
G:all 最低等级,用于打开所有日志记录。

上面这些级别是定义在org.apache.log4j.Level类中。Log4j只建议使用4个级别,优先级从高到低分别是error,warn,info和debug。通过使用日志级别,可以控制应用程序中相应级别日志信息的输出。例如,如果使用了info级别,则应用程序中所有低于info级别的日志信息(如debug)将不会被打印出来。

3 Web项目中使用Log4j实例

上面代码描述了Log4j的简单应用,其实使用Log4j也就是这样简单方便。当然除了上面的配置方法,还有其它,比如做一个J2EE应用,在J2EE应用使用Log4j,必须先在启动服务时加载Log4j的配置文件进行初始化,可以在web.xml中进行。

1、web应用的log4j使用基本上都采用:新建一个servlet,这个servlet在init函数中为log4j执行配置。一般就是读入配置文件。所以需要在web.xml中为这个servlet配置,同时设定load-on-startup为1。

2、这个servlet配置log4j就是读出配置文件,然后调用configure函数。这里有两个问题:一、需要知道文件在哪里;二、需要正确的文件类型

3、配置文件位置在web.xml中配置一个param即可,路径一般是相对于web的root目录

4、文件类型一般有两种,一个是Java的property文件,另一种是xml文件

配置文件的大致内容:log4j可以指定输出的log级别的最低等级,以及log的输出配置格式,每个log可以指定多个输出方式。

具体操作如下所示:

(1)创建Web工程,整个工程最后目录如下

(2)web.xml配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns="http://java.sun.com/xml/ns/javaee"  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"  id="WebApp_ID" version="3.0">  <display-name>LogLearning</display-name>  <servlet>  <servlet-name>Log4JTestServlet</servlet-name>  <servlet-class>com.mucfc.Log4JTestServlet</servlet-class>  </servlet>  <!--用来启动 log4jConfigLocation的servlet -->  <servlet>  <servlet-name>Log4JInitServlet</servlet-name>  <servlet-class>com.mucfc.Log4JInitServlet</servlet-class>  <init-param>  <param-name>log4j-properties-location</param-name>  <param-value>/WEB-INF/classes/log4j.properties</param-value>  </init-param>  <load-on-startup>1</load-on-startup>  </servlet>  <servlet-mapping>  <servlet-name>Log4JTestServlet</servlet-name>  <url-pattern>/test</url-pattern>  </servlet-mapping>  </web-app>

(3)配置文件log4j.properties

### set log levels ###
log4j.rootLogger = debug,stdout,D,E  log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n  log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = F://logs/log.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.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =F://logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

(4)web容器初始化的servlet

Log4JInitServlet.java

package com.mucfc;  import java.io.File;
import java.io.IOException;  import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;  import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.PropertyConfigurator;  /** * Servlet implementation class Log4JInitServlet */
@WebServlet("/Log4JInitServlet")
public class Log4JInitServlet extends HttpServlet {  private static final long serialVersionUID = 1L;  /** * @see HttpServlet#HttpServlet() */  public Log4JInitServlet() {  super();  // TODO Auto-generated constructor stub  }  /** * @see Servlet#init(ServletConfig) */  public void init(ServletConfig config) throws ServletException {  System.out.println("Log4JInitServlet 正在初始化 log4j日志设置信息");  String log4jLocation = config.getInitParameter("log4j-properties-location");  ServletContext sc = config.getServletContext();  if (log4jLocation == null) {  System.err.println("*** 没有 log4j-properties-location 初始化的文件, 所以使用 BasicConfigurator初始化");  BasicConfigurator.configure();  } else {  String webAppPath = sc.getRealPath("/");  String log4jProp = webAppPath + log4jLocation;  File yoMamaYesThisSaysYoMama = new File(log4jProp);  if (yoMamaYesThisSaysYoMama.exists()) {  System.out.println("使用: " + log4jProp+"初始化日志设置信息");  PropertyConfigurator.configure(log4jProp);  } else {  System.err.println("*** " + log4jProp + " 文件没有找到, 所以使用 BasicConfigurator初始化");  BasicConfigurator.configure();  }  }  super.init(config);  }  /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  // TODO Auto-generated method stub  }  /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  // TODO Auto-generated method stub  }  }

调用日志Log4JTestServlet.java

package com.mucfc;  import java.io.IOException;  import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;  import org.apache.log4j.Logger;  /** * Servlet implementation class Log4JTestServlet */
@WebServlet("/Log4JTestServlet")
public class Log4JTestServlet extends HttpServlet {  private static final long serialVersionUID = 1L;  private static Logger logger = Logger.getLogger(Log4JTestServlet.class);    /** * @see HttpServlet#HttpServlet() */  public Log4JTestServlet() {  super();  // TODO Auto-generated constructor stub  }  /** * @see Servlet#init(ServletConfig) */  public void init(ServletConfig config) throws ServletException {  // TODO Auto-generated method stub  }  /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  // 记录debug级别的信息    logger.debug("This is debug message.");    // 记录info级别的信息    logger.info("This is info message.");    // 记录error级别的信息    logger.error("This is error message.");    }  /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  doGet(request,response);  }  }

接下来就是运行来看看结果:

输出结果:

4 Spring中使用Log4j

这里要实现web项目中利用Spring来使用Log4j

(1)接上面的工程,然后再导入Spring的包

(2)web.xml增加

<!-- 设置根目录 -->
<context-param><param-name>webAppRootKey</param-name><param-value>webapp.root</param-value>
</context-param><context-param><param-name>log4jConfigLocation</param-name><param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param><!-- 3000表示 开一条watchdog线程每60秒扫描一下配置文件的变化;这样便于日志存放位置的改变 -->
<context-param><param-name>log4jRefreshInterval</param-name><param-value>3000</param-value>
</context-param><listener><listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

整个内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns="http://java.sun.com/xml/ns/javaee"  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"  id="WebApp_ID" version="3.0">  <display-name>LogLearning</display-name>  <servlet>  <servlet-name>Log4JTestServlet</servlet-name>  <servlet-class>com.mucfc.Log4JTestServlet</servlet-class>  </servlet>  <!--用来启动 log4jConfigLocation的servlet -->
<!--     <servlet>  <servlet-name>Log4JInitServlet</servlet-name>  <servlet-class>com.mucfc.Log4JInitServlet</servlet-class>  <init-param>  <param-name>log4j-properties-location</param-name>  <param-value>/WEB-INF/classes/log4j.properties</param-value>  </init-param>  <load-on-startup>1</load-on-startup>  </servlet>-->  <servlet-mapping>  <servlet-name>Log4JTestServlet</servlet-name>  <url-pattern>/test</url-pattern>  </servlet-mapping>   <!-- Spring 容器加载 -->  <listener>  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  </listener>  <context-param>  <param-name>contextConfigLocation</param-name>  <param-value>classpath:applicationContext.xml</param-value>  </context-param>   <!-- 设置根目录 -->  <context-param>    <param-name>webAppRootKey</param-name>    <param-value>webapp.root</param-value>    </context-param>    <context-param>  <param-name>log4jConfigLocation</param-name>  <param-value>/WEB-INF/classes/log4j.properties</param-value>  </context-param>  <!-- 3000表示 开一条watchdog线程每60秒扫描一下配置文件的变化;这样便于日志存放位置的改变 -->  <context-param>    <param-name>log4jRefreshInterval</param-name>    <param-value>3000</param-value>    </context-param>   <listener>  <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>  </listener>   </web-app>

这里Log4JInitServlet.java就相当于没用到了。

(2)applicationContext.xml 增加内容

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"  xmlns:aop="http://www.springframework.org/schema/aop"  xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd">
</beans>

(3)这样日志就跟随Spring窗口启动而启动了

程序一运行,就会自动把日志打印

log.log

浏览器输入http://localhost:8080/LogLearning2/test

转存失败重新上传取消

然后打开文件

转存失败重新上传取消转存失败重新上传取消

5 总结

(1)日志输出级别种类

ERROR、WARN、INFO、DEBUG
ERROR 为严重错误 主要是程序的错误
WARN 为一般警告,比如session丢失
INFO 为一般要显示的信息,比如登录登出
DEBUG 为程序的调试信息

(2)配置日志信息输出的目的地

log4j.appender.appenderName = fully.qualified.name.of.appender.class
1.org.apache.log4j.ConsoleAppender(控制台)
2.org.apache.log4j.FileAppender(文件)
3.org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
4.org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
5.org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

(3)配置日志信息的输出格式

log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
1.org.apache.log4j.HTMLLayout(以HTML表格形式布局),
2.org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
3.org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
4.org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

(4)控制台选项

Threshold=DEBUG:指定日志消息的输出最低层次。
ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
Target=System.err:默认情况下是:System.out,指定输出控制台
FileAppender 选项
Threshold=DEBUF:指定日志消息的输出最低层次。
ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
File=mylog.txt:指定消息输出到mylog.txt文件。
Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
RollingFileAppender 选项
Threshold=DEBUG:指定日志消息的输出最低层次。
ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
File=mylog.txt:指定消息输出到mylog.txt文件。
Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
MaxFileSize=100KB: 后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件。
MaxBackupIndex=2:指定可以产生的滚动文件的最大数。
log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n

(5)日志信息格式中的符号意义

-X: X信息输出时左对齐;%p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL,%d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921%r: 输出自应用启动到输出该log信息耗费的毫秒数%c: 输出日志信息所属的类目,通常就是所在类的全名%t: 输出产生该日志事件的线程名%l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main (TestLog4.java:10)%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。%%: 输出一个"%"字符%F: 输出日志消息产生时所在的文件名称%L: 输出代码中的行号%m: 输出代码中指定的消息,产生的日志具体信息%n: 输出一个回车换行符,Windows平台为"/r/n",Unix平台为"/n"输出日志信息换行

可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。

1)    %20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。
2)   %-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,"-"号指定左对齐。
3)   %.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。
4)   %20.30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边较远输出的字符截掉。

Log4j.properties配置详解相关推荐

  1. Log4j介绍,log4j.properties配置详解

    http://www.cnblogs.com/simle/archive/2011/09/29/2195341.html本文主要解释log4j的配置文件各个配置项的含义,内容是从网上转载的 1.Log ...

  2. 转 Log4j.properties配置详解

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  3. Log4j.properties 配置详解

    一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...

  4. java日志文件log4j.properties配置详解

    一.Log4j配置 第一步:加入log4j-1.2.8.jar到lib下. 第二步:在CLASSPATH下建立log4j.properties.内容如下: 放在src下的话就不用配置 否则得去web. ...

  5. log4j.properties配置详解(转载)

    Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...

  6. log4j.properties配置详解与实例

    ################################################################################ #①配置根Logger,其语法为: # ...

  7. SpringBoot重点详解--log4j.properties配置详解与实例

    ################################################################################ #①配置根Logger,其语法为: # ...

  8. Log4j日志配置详解(Log4j2)

    Log4j日志配置详解 一.Log4j升级Log4j2 首先来说一下日志升级,log4j配置的变化,配置文件从log4j.xml变成了log4j2.xml,配置文件的内容也有很大不同,log file ...

  9. Log4J日志配置详解3

    log4j.properties文件一log4j.rootLogger=DEBUG,LogFileCometd,LogFile,ErrorFile,Console# 控制台输出,info级别(Syst ...

  10. 跟益达学Solr5之core.properties配置详解

    学习Solr之前,我想对于初学Solr的小伙伴们来说, Solr的core概念是最令人头疼的,到底该怎么理解Solr中的core呢?以下是我从Solr的官方文档中摘下来的一段文字说明: In Solr ...

最新文章

  1. 如何查看一个命令是否被修改过
  2. angular入门-ngOptions
  3. 手把手教你webpack4.x从零开始搭建vue项目
  4. 针对Properties中实时性要求不高的配置参数,用Java缓存起来
  5. 网页嵌入对象(图片、视频、网页)
  6. [转载]从菜鸟到架构师
  7. 关于计算机的英语演讲ppt模板,英语演讲ppt模板
  8. 基于STM32的OLED 屏幕驱动
  9. OpenMMLab全景图
  10. 求主对角线上各元素之和(C语言)
  11. Jetson TX2 power mode功耗模式
  12. cocos之游戏手柄控制实例
  13. 通过环境变量形式指定Datagrip的datagrip64.exe.vmoptions位置
  14. HP EliteDesk 800 G4 DM 35W (Japan) Mini Tower黑苹果efi引导文件
  15. asp.net response.write输出html,ASP.NET 动态输出Javascript 文本格式换行问题 [ASP.NET | C# | Response]...
  16. Verilog基础知识总结02
  17. STM32标准外设库
  18. 大学计算机基础试题第六章,大学计算机基础第六章作业答案
  19. 日本空手道美女走红 堪称现实版春丽
  20. java设计单词英译汉小助手_java课程设计——英汉电子词典编程

热门文章

  1. CDN的原理技术及使用方法
  2. 电容屏物体识别_浅谈多点电容屏物体识别,实物识别技术
  3. python骰子游戏分析_python知识分解析掷骰子游戏
  4. 并网光伏发电系统(simulink仿真)
  5. Latex(texlive)安装配置教程(详细)
  6. 进化计算(八)——MOEA/D算法详解Ⅱ
  7. SolidWorks导入3DSource零件库的模型方法介绍
  8. 微信小程序实现定位功能
  9. java计算机毕业设计ssm+vue工商学院办公用品管理信息系统
  10. spire.pdf修改pdf内容