课题_log4j中配置日志文件相对路径方法分析

方法一、解决的办法自然是用相对路径代替绝对路径,其实log4j的FileAppender本身就有这样的机制,如:log4j.appender.logfile.File=${WORKDIR}/logs/app.log 其中“${WORKDIR}/”是个变量,会被System Property中的“WORKDIR”的值代替。

这样,我们就可以在log4j加载配置文件之前,先用System.setProperty ("WORKDIR", WORKDIR);设置好根路径,此操作可通过一初始的servlet进行。

方法二、可以使用服务器环境变量log4j的配置文件支持服务器的vm的环境变量,格式类似${catalina.home}log4j.appender.R=org.apache.log4j.RollingFileAppenderlog4j.appender.R.File=${catalina.home}/logs/logs_tomcat.loglog4j.appender.R.MaxFileSize=10KB其中的${catalina.home}并非windows系统的环境变量,这个环境变量就不需要在Windows系统的环境变量中设置。

之所以这样,你可以看看tomcat\bin\catalina.bat(startup,shutdown都是调用这个)里面自带有-Dcatalina.home="%CATALINA_HOME%" 。

继承这个思想,所以你也可以自己设定一个参数-Dmylog.home="D:/abc/log"到对应的服务器java启动的vm参数中方法三、通过servlet初始化init()方法中加载file属性实现相对路径具体实现:做一个servlet,在系统加载的时候,就把properties的文件读到一个properties文件中.那个file的属性值(我使用的是相对目录)改掉(前面加上系统的根目录),让后把这个properties对象设置到propertyConfig中去,这样就初始化了log的设置.在后面的使用中就用不着再配置了一般在我们开发项目过程中,log4j日志输出路径固定到某个文件夹,这样如果我换一个环境,日志路径又需要重新修改,比较不方便,目前我采用了动态改变日志路径方法来实现相对路径保存日志文件(1).在项目启动时,装入初始化类:public class Log4jInit extends HttpServlet {static Logger logger = Logger.getLogger(Log4jInit.class);public Log4jInit() {}public void init(ServletConfig config) throws ServletException {String prefix = config.getServletContext().getRealPath("/");String file = config.getInitParameter("log4j");String filePath = prefix + file;Properties props = new Properties();try{FileInputStream istream = new FileInputStream(filePath );props.load(istream);istream.close();//toPrint(props.getProperty("log4j.appender.file.File"));String logFile = prefix + props.getProperty("log4j.ap pender.file.File");//设置路径props.setProperty("log4j.appender.file.File",logFile);PropertyConfigurator.configure(props);//装入log4j配置信息} catch(IOException e) {toPrint("Could not read configuration file [" + fil ePath + "].");toPrint("Ignoring configuration file [" + filePath + "].");return;}}public static void toPrint(String content) {System.out.println(content);}}实际上log4j的配置文件log4j.properties如为默认名,可放置在JVM能读到的classpath里的任意地方,一般是放在WEB- INF/classes目录下。

当log4j的配置文件不再是默认名,则需要另外加载并给出参数,如上“ropertyConfigurator.configure(props);//装入log4j配置信息”(2).Web.xml中的配置<servlet><servlet-name>log4j-init</servlet-name><servlet-class>Log4jInit</servlet-class><init-param><param-name>log4j</param-name><param-value>WEB-INF/classes/log4j.properties</param-value></init-param><load-on-startup>1</load-on-startup></servlet>注意:上面的load-on-startup设为0,以便在Web容器启动时即装入该Servlet。

log4j.properties文件放在根的properties 子目录中,也可以把它放在其它目录中。

应该把.properties文件集中存放,这样方便管理。

(3).log4j.properties中即可配置log4j.appender.file.File为当前应用的相对路径.以上是网上log4j日志文件的相对路径配置的三种方法(我能找到的就三种),分析:方法一主要是扩展了log4j的RollingFileAppender类,其他的FileAppender同样道理。

扩展的方法,就是用一个子类去覆盖setFile方法,这个方法在log4j读取配置文件生成appender的时候调用,传入的就是配置文件中的路径,这样我就可以按照自己的想法在路径前面加上根路径了。

这种方法可以在log4j.properties中用相对路径自由配置log4j.appender.A1.File属性来决定生成的日志相对web应用根目录的位置。

方法二是利用服务器vm中已经存在的环境变量如${catalina.home}来设置相对于${catalina.home}的日志路径,日志只能放到服务器子目录里,而且如果是用的其它服务器,则要改对应的环境变量。

此方法平台移植不方便。

方法三是扩展ActionServlet类,覆盖其init()方法,新方法中载入log4j.properties位置的参数,可以自由配置log4j的配置文件的名字和存放位置。

也可自由配置log4j日志文件的相对于当前应用的路径。

详细代码如下:package wbb.bysxxglxt.util;import org.apache.struts.action.*;import mons.logging.LogFactory;import mons.logging.Log;import javax.servlet.ServletException;import java.util.Properties;import java.io.InputStream;import org.apache.log4j.PropertyConfigurator;import java.io.FileInputStream;import java.io.IOException;public class ExtendedActionServlet extends ActionServlet {private Log log = LogFactory.getLog(this.getClass().getName());public ExtendedActionServlet() {}public void init() throws ServletException {("Initializing, My MyActionServlet init this S ystem's Const Variable");String prefix = this.getServletConfig().getServletContext().get RealPath("/");String file = this.getServletConfig().getInitParameter("log4j");String filePath = prefix + file;Properties props = new Properties();System.out.println(prefix);System.out.println(file);System.out.println(filePath);try{FileInputStream log4jStream = new FileInputStream(file Path);props.load(log4jStream);log4jStream.close();String logFile = prefix +props.getProperty("log4j.a ppender.A1.File"); //设置路径System.out.println(logFile);props.setProperty("log4j.appender.A1.File", logFile);PropertyConfigurator.configure(props); //装入log4j配置信息} catch(IOException e) {e.printStackTrace();}("Initializing, end My Init");super.init();//应用了struts,此方法不能省,ActionServlet覆盖了的此方法中有很多重要操作}}**********************应用web.xml 关键部分***************************<servlet><servlet-name>action</servlet-name><servlet-class>wbb.bysxxglxt.util.ExtendedActionServlet</servlet-class><init-param><param-name>config</param-name><param-value>/WEB-INF/struts-config.xml</param-value></init-param><init-param><param-name>log4j</param-name><param-value>properties\log4j.properties</param-value></init-param><init-param><param-name>debug</param-name><param-value>0</param-value></init-param><init-param><param-name>application</param-name><param-value>ApplicationResources</param-value></init-param><load-on-startup>0</load-on-startup></servlet><servlet-mapping><servlet-name>action</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping>注意log4j参数中相对路径的斜杠线的写法,而且log4j属性文件如放置在web-inf/classes目录或web-inf等目录中最好改名,因为在加载此Servlet之前,服务器如tomcat启动时会自动搜索web-inf目录和web-inf/classes目录中log4j.properties 文件,如有则自动加载。

合集下载

log4j的使用方法

log4j的使用方法

log4j的使用方法log4j的使用方法什么是log4jlog4j是一个使用Java编写的开源日志记录工具。

它允许开发人员在程序中进行灵活的日志记录,帮助定位和修复应用程序的错误和问题。

log4j通过配置文件确定日志记录的级别和输出方式,提供了丰富的功能和灵活性。

log4j的基本配置1.导入log4j的依赖库:添加以下依赖到你的项目中的``文件中:<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version></version></dependency>2.创建log4j的配置文件:在项目的资源目录下创建一个名为``的文件,并添加以下内容:# 设置日志输出到控制台=INFO, stdout# stdout将日志输出到控制台====%d{yyyy-MM-dd HH:mm:ss} [%p] %m%n以上配置将日志记录级别设为INFO,并将日志输出到控制台。

3.初始化log4j:在你的应用程序入口处(比如main方法),添加以下代码进行log4j的初始化:import ;public class MyApp {public static void main(String[] args) {// 加载log4j的配置文件("");// 其他应用程序代码...}}log4j的日志级别与日志输出log4j提供了不同的日志级别,根据不同的需求可以进行设置。

1.日志级别:–TRACE:最详细的日志级别,常用于调试信息。

–DEBUG:用于调试和开发阶段的详细信息。

–INFO:提供程序的运行状态信息以及其他关键事件。

–WARN:表明潜在的问题,但程序仍能正常运行。

–ERROR:用于记录错误事件,但仍可继续执行。

–FATAL:严重错误,可能导致程序终止执行。

java log4j,logback日志总结

java log4j,logback日志总结

一:java开发常用日志概括slf4j由log4j作者Ceki开发,逐步取代apahce commons-logginglogback由log4j作者Ceki开发,逐步取代log4j。

关系:slf4j=====commons-logging*.各种日志实现的通用入口,会根据classpath中存在下面哪一个Jar来决定具体的日志实现库。

logback====log4j*.日志实现类日志管理:slf4j(commons-logging)+logback(log4j)二:logback简介1、Logback为取代log4j而生Logback是由log4j创始人Ceki Gülcü设计的又一个开源日志组件。

logback当前分成三个模块:logback-core,logback- classic和logback-access。

2、Logback的核心对象:Logger、Appender、LayoutLogback主要建立于Logger、Appender 和 Layout 这三个类之上。

Logger:日志的记录器,把它关联到应用的对应的context上后,主要用于存放日志对象,也可以定义日志类型、级别。

Logger对象一般多定义为静态常量,如:1package com.logs;23import org.slf4j.Logger;4import org.slf4j.LoggerFactory;56public class MyApp {7final static Logger logger = LoggerFactory.getLogger("MyApp.class"); 8public static void main(String[] args) {910 logger.trace("trace");11 logger.debug("debug str");12 ("info str");13 logger.warn("warn");14 logger.error("error");15 }16 }Appender:用于指定日志输出的目的地,目的地可以是控制台、文件、远程套接字服务器、 MySQL、 PostreSQL、Oracle和其他数据库、 JMS和远程UNIX Syslog守护进程等。

Tomcat+Spring应用系统中log4j配置文件的使用方法和存放位置

Tomcat+Spring应用系统中log4j配置文件的使用方法和存放位置

Tomcat+Spring应用系统中log4j配置文件的使用方法和存放位置Tomcat+Spring应用系统中log4j配置文件的使用方法和存放位置使用Spring Framework已经快两年了,是从Spring发行包携带的样例程序开始的,从来没有仔细研究过各部分的使用方法。

最近才发现使用log4j的方法是不正确的。

log4j配置文件的存放位置跟其他程序环境不同,在Spring Framework应用系统中,log4j 配置文件的存放位置是自由的。

在应用程序的web.xml中进行规定,[1]使用以下代码:<context-param><param-name>log4jConfigLocation</param-name><param-value>/WEB-INF/classes/log4j.properties</param-value></context-param><context-param><param-name>log4jRefreshInterval</param-name><param-value>60000</param-value></context-param>同时还要设置一个listener<listener><listener-class>org.springframework.web.util.Log4jConfigListener</listen er-class></listener>告警的排除设置好web.xml后,部署WAR文件,发现以下告警:log4j:WARN No such property [maxFileSize] in org.apache.log4j.DailyRollingFileAppender.log4j:WARN No such property [maxBackupIndex] in org.apache.log4j.DailyRollingFileAppender.后来发现一个介绍更为详细的文章[3]学到以下知识:•Log4jConfigListener是spring提供的工具类,它开启一个log4j的监视线程,并每60 (log4jRefreshInterval变量定义)秒检测日志配置变化,从而不需要每次重新启动web服务来应用新的配置。

log4J配置文件详解

log4J配置文件详解

log4j.rootLogger=DEBUG, CONSOLE, FILE ----- 配置根Logger,等号后的第一个单词DEBUG代表输出等级(等级共有5种FATAL ERRORWARN INFO DEBUG,越往后输出越详细,按顺序每一个等级都包含前面的所有输出并屏蔽后面的所有输出。

这里推荐选择二种,分别为ERROR:仅仅只记录错误信息;DEBUG:记录所有错误的详细信息。

在生产配置下,请关闭应用于控制台CONSOLE选项,仅启用FILE即可);后面的两个CONSOLE和FILE代表日志输出的位置,后面的两个可以任意命名,为了明显易懂,使用可以一眼看出含义的单词。

例如,用console 代表控制台输出,file代表文件输出log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender -------注意等号前面的CONSOLE,它对应于上面你的定义,这句话的意思是定义CONSOLE为org.apache.log4j.ConsoleAppender(log4j的控制台输出),Log4j提供的appender有以下几种:org.apache.log4j.ConsoleAppender(控制台)org.apache.log4j.FileAppender(文件)org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生新文件) org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)yout=org.apache.log4j.PatternLayout -------定义log4j使用的输出布局(输出格式)。

log4j提供以下4种布局样式:org.apache.log4j.HTMLLayout(以HTML表格形式布局)org.apache.log4j.PatternLayout(可以灵活地指定布局模式,就是可以自定义输出样式),org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)yout.ConversionPattern=%d{MM-ddHH:mm:ss}[%c-%L][ %t][%-4r] - %m%n -------这个就是针对PatternLayou你自定义的输出格式,重点讲解一下打印参数,Log4J采用的是类似C语言中的printf函数的打印格式格式化日志信息的%m 输出代码中指定的消息%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL%r 输出自应用启动到输出该log信息耗费的毫秒数%c 输出所属的类目,通常就是所在类的全名%t 输出产生该日志事件的线程名%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”,也就是一跳消息占用一行%d 输出日志时间点的日期或时间,紧跟一对花括号进行自定义格式%c 输出所属的类目,通常就是所在类的全名%l 精确到行%x 输出对齐下面这句话是我从我的控制台输出的日志信息中截取的一句,对应上面的定义格式对比看一下就了解的差不多了9-3010:34:04[com.opensymphony.xwork2.config.providers.InterceptorBuilder-45][m ain][106] - No interceptor found for name = includeMethodslog4j.appender.FILE.File=D:/logs/log4j.log --------定义输出文件的位置及文件名log4j.appender.FILE.MaxFileSize=1MB ----------定义每个文件的大小,超过这个大小,则新建一个文件,注意单位MB 或KB。

android log4j 用法

android log4j 用法

android log4j 用法Android Log4j 用法:详细步骤解析Log4j是一个功能强大且广泛用于Java程序的日志记录工具。

它提供了灵活的日志配置选项,允许开发人员根据应用程序的需求自定义日志输出。

在Android开发中,我们可以使用Log4j来记录应用程序的日志,以便更好地进行调试和故障排除。

本文将一步一步介绍如何在Android项目中使用Log4j,并对其用法进行详细解析。

第一步:引入Log4j库要使用Log4j,我们首先需要将其库文件添加到Android项目的依赖项中。

可以从Apache官方网站上下载Log4j的最新版本。

下载完成后,将其包含在项目的libs文件夹中。

接下来,在项目的build.gradle文件中添加以下依赖项:dependencies {implementation files('libs/log4j.jar')}这样,Log4j库就会被添加到项目中。

第二步:创建配置文件Log4j需要一个配置文件来定义日志输出的格式和目标。

我们可以在项目的res目录下创建一个名为log4j.properties的文件,并按照如下内容进行配置:# 设置根日志级别为DEBUGlog4j.rootLogger=DEBUG,stdout# 配置控制台输出log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outyout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p %t %c - %m%n# 配置文件输出log4j.appender.file=org.apache.log4j.RollingFileAppenderlog4j.appender.file.File=/sdcard/app.loglog4j.appender.file.MaxFileSize=5MBlog4j.appender.file.MaxBackupIndex=4yout=org.apache.log4j.PatternLayoutyout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p %t %c - %m%n在上述配置文件中,我们首先设置了根日志级别为DEBUG,这意味着只有DEBUG级别及以上的日志才会被输出。

log4j2配置文件log4j2.xml解析

log4j2配置文件log4j2.xml解析

log4j2配置⽂件log4j2.xml解析⼀、背景最近由于项⽬的需要,我们把log4j 1.x的版本全部迁移成log4j 2.x 的版本,那随之⽽来的slf4j整合log4j的配置(使⽤Slf4j集成Log4j2构建项⽬⽇志系统的完美解决⽅案)以及log4j2配置⽂件的详解,就需要我们来好好聊⼀聊了。

本⽂就专门来讲解下log4j2.xml配置⽂件的各项标签的意义。

⼆、配置全解1.关于配置⽂件的名称以及在项⽬中的存放位置log4j 2.x版本不再⽀持像1.x中的.properties后缀的⽂件配置⽅式,2.x版本配置⽂件后缀名只能为”.xml”,”.json”或者”.jsn”.系统选择配置⽂件的优先级(从先到后)如下:(1).classpath下的名为log4j2-test.json 或者log4j2-test.jsn的⽂件.(2).classpath下的名为log4j2-test.xml的⽂件.(3).classpath下名为log4j2.json 或者log4j2.jsn的⽂件.(4).classpath下名为log4j2.xml的⽂件.我们⼀般默认使⽤log4j2.xml进⾏命名。

如果本地要测试,可以把log4j2-test.xml放到classpath,⽽正式环境使⽤log4j2.xml,则在打包部署的时候不要打包log4j2-test.xml即可。

2.缺省默认配置⽂件<?xml version="1.0" encoding="UTF-8"?><Configuration status="WARN"><Appenders><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/></Console></Appenders><Loggers><Root level="error"><AppenderRef ref="Console"/></Root></Loggers></Configuration>3.配置⽂件节点解析(1).根节点Configuration有两个属性:status和monitorinterval,有两个⼦节点:Appenders和Loggers(表明可以定义多个Appender和Logger). status⽤来指定log4j本⾝的打印⽇志的级别.monitorinterval⽤于指定log4j⾃动重新配置的监测间隔时间,单位是s,最⼩是5s.(2).Appenders节点,常见的有三种⼦节点:Console、RollingFile、File.Console节点⽤来定义输出到控制台的Appender.name:指定Appender的名字.target:SYSTEM_OUT 或 SYSTEM_ERR,⼀般只设置默认:SYSTEM_OUT.PatternLayout:输出格式,不设置默认为:%m%n.File节点⽤来定义输出到指定位置的⽂件的Appender.name:指定Appender的名字.fileName:指定输出⽇志的⽬的⽂件带全路径的⽂件名.PatternLayout:输出格式,不设置默认为:%m%n.RollingFile节点⽤来定义超过指定⼤⼩⾃动删除旧的创建新的的Appender.name:指定Appender的名字.fileName:指定输出⽇志的⽬的⽂件带全路径的⽂件名.PatternLayout:输出格式,不设置默认为:%m%n.filePattern:指定新建⽇志⽂件的名称格式.Policies:指定滚动⽇志的策略,就是什么时候进⾏新建⽇志⽂件输出⽇志.TimeBasedTriggeringPolicy:Policies⼦节点,基于时间的滚动策略,interval属性⽤来指定多久滚动⼀次,默认是1 hour。

addlog4net 相对路径

addlog4net 相对路径在使用log4net时,相对路径通常用于指定配置文件的位置。

通过相对路径,可以使日志配置文件相对于应用程序的执行位置而言更加灵活和便捷。

相对路径是相对于当前工作目录或者应用程序的基目录来解析的。

当使用相对路径时,需要考虑一些重要的因素。

首先,要确保相对路径是相对于期望的基目录来解析的,这通常是应用程序的执行位置。

其次,要注意相对路径中不要包含过多的依赖,以免在不同环境下造成路径解析错误。

最后,要确保相对路径所指向的文件在运行时是可访问的。

在log4net中,可以通过配置文件中的`file`元素来指定相对路径,例如:xml.<appender name="FileAppender"type="log4net.Appender.FileAppender">。

<file value="logs\logfile.txt" />。

...</appender>。

在这个例子中,`logs\logfile.txt`就是相对于应用程序执行位置的相对路径,log4net会根据这个相对路径来定位日志文件的位置。

另外,需要注意的是,相对路径的解析也受到操作系统和应用程序启动方式的影响。

在不同的操作系统下,相对路径的解析规则可能会有所不同。

因此,在使用相对路径时,要进行充分的测试和验证,确保在不同环境下都能正确解析相对路径。

总之,使用log4net的相对路径时,需要注意基准目录、路径依赖以及跨平台兼容性等因素,以确保日志配置文件能够正确地被定位和加载。

log4j日志文件路径的配置


(2)解决log4j输出的日志文件的位置的配置问题
我一直希望自己的web应用的配置能够简化,最好的方式就是打个包后扔哪都能用,即使非得再做一些配置的话,也希望只是一些连接池的配置信息。这个目标在现在手头的这个项目中也几乎达到了,除了log文件的位置。
在log4j的配置文件中对于log输出的路径一向都是使用绝对路径,这样就导致在不同的机器上部署时都得重新定义一下log文件的输出位置。虽说费时不多,可对于我这种宁可少一事,不愿多一事的人来说,总是觉得有点郁闷。
仅从字面上理解,也可以大致得出结论:最常用的应该是debug()和info();而warn()、error()、fatal()仅在相应事件发生后才使用。
从上面三个步骤可以看出,使用commons-logging的日志接口非常的简单,不需要记忆太多东西:仅仅用到了两个类Log, LogFactory,并且两个类的方法都非常少(后者只用到一个方法,前者经常用到的也只是上面第三步中列出的几个),同时参数又非常简单。
import mons.logging.LogFactory;
public class TestLog
{
private static Log log = LogFactory.getLog(TestLog.class);
public void test()
3、使用mons.logging.Log类的成员方法输出日志信息:
log.debug("111");
("222");
log.warn("333");
log.error("444");
log.fatal("555");

Log4j 日志内容详解

Log4j详细解1.1. 背景在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作;跟踪代码运行时轨迹,作为日后审计的依据;担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息。

最普通的做法就是在代码中嵌入许多的打印语句,这些打印语句可以输出到控制台或文件中,比较好的做法就是构造一个日志操作类来封装此类操作,而不是让一系列的打印语句充斥了代码的主体。

1.2. Log4j简介在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log4j。

Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。

最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

此外,通过Log4j其他语言接口,您可以在C、C+ +、.Net、PL/SQL程序中使用Log4j,其语法和用法与在Java程序中一样,使得多语言分布式系统得到一个统一一致的日志组件模块。

而且,通过使用各种第三方扩展,您可以很方便地将Log4j集成到J2EE、JINI 甚至是SNMP应用中。

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

综合使用这三个组件可以轻松的记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。

下面对三个组件分别进行说明:1、LoggersLoggers组件在此系统中被分为五个级别:DEBUG、INFO、W ARN、ERROR和FATAL。

log4j配置详解

在配置文件中这样配置的:

yout =className yout.Option1 = value1 … yout.OptionN = valueN
Appender
Appender用来规定日志输出的目的地是哪里,可以是控制台,文件,数据库等等。 常见的Appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台) org.apache.log4j.FileAppender(文件) org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件) org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文 件) org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
配置Logger

log4j.rootLogger = [ level ] , appenderName1, appenderName2, … .apache=false # 表示示Logger不会在父父Logger的appender里里输 出,默认为true。
配置Layout

yout=className
常见的className如下:
org.apache.log4j.HTMLLayout(以HTML表格形式布局) org.apache.log4j.PatternLayout(可以灵活地指定布局模式) org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串) org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档