写log4j.xml日志配置文件 就是将所有的日志写入日志文件里面。RollingFileAppender这种在日志较多时,会覆盖掉一部分的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 指定log4j的配置文件,配置文件名称和存放路径都可自定义。当获得了日志记录器之后,第二步将配置Log4j环境,其语法为: BasicConfigurator.configure (): 自动快速地使用缺省Log4j环境。 PropertyConfigurator.configure ( String configFilename) :读取使用Java的特性文件编写的配置文件。 DOMConfigurator.configure ( String filename ) :读取XML形式的配置文件。Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件(键=值)。下面引用的是使用Java特性文件做为配置文件的方法(不用XML解析器):配置根Logger,其语法为: log4j.rootLogger = [ level ] , appenderName, appenderName, …其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。 appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。 配置日志信息输出目的地Appender,其语法为 log4j.appender.appenderName = fully.qualified.name.of.appender.classlog4j.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(将日志信息以流格式发送到任意指定的地方) 配置日志信息的格式(布局),其语法为: log4j.appender.appenderName.layout = fully.qualified.name.of.layout.classlog4j.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配置文件的例子(内容不含前面的行号): 1log4j.rootLogger=INFO, A1 , R 2 3log4j.appender.A1=org.apache.log4j.ConsoleAppender 4log4j.appender.A1.layout=org.apache.log4j.PatternLayout 5log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n 6 7log4j.appender.R=org.apache.log4j.RollingFileAppender 8log4j.appender.R.File=$TOMCAT_HOME/logs/log4j.log 9##将$TOMCAT_HOME换成tomcat的安装目录,也可以指定一个存在的任意目录10log4j.appender.R.MaxFileSize=100KB11log4j.appender.R.MaxBackupIndex=112log4j.appender.R.layout=org.apache.log4j.PatternLayout13log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n第1行的值INFO,表示输出INFO级以上的日志,如果设成OFF则表示不输出,A1和R是自定义的两种输出方式(可以自定义n种输出方式),其详细内容在后面有定义;第3行定义A1是输出到控制台;第7行定义R是输出到文件,并且控制文件在指定大小,超过指定大小自动按指定形式创建一个新名称的日志文件;一般是以指定格式的文本输出日志,输出比较快捷,也可以定义HTML格式的日志输出,阅读方便,但稍微有点慢。现在,可以象使用System.out.println一样标识程序输出信息了看一个在程序中应用log4j的简单例子。import org.apache.log4j.Level;import org.apache.log4j.Logger;import org.apache.log4j.SimpleLayout;import org.apache.log4j.FileAppender;public class simpandfile { //获取log4j日志记录器 static Logger logger = Logger.getLogger(simpandfile.class); public static void main(String args[]) { //新建一个日志输出样式 SimpleLayout layout = new SimpleLayout(); FileAppender appender = null; try { //定义输出文件 appender = new FileAppender(layout,"output1.txt",false); } catch(Exception e) {} logger.addAppender(appender); //设置日志输出等级为DEBUG logger.setLevel((Level) Level.DEBUG); //以各种等级标识输出信息 logger.debug("Here is some DEBUG"); logger.info("Here is some INFO"); logger.warn("Here is some WARN"); logger.error("Here is some ERROR"); logger.fatal("Here is some FATAL"); }} log4j.properties建个文件一摸一样的里面是 log4j.rootLogger=debug, stdout, R log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout # Pattern to output the caller's file name and line number. log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=system.log log4j.appender.R.MaxFileSize= 100KB # Keep one backup file log4j.appender.R.MaxBackupIndex=1 log4j.appender.stdout.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %c - %m%n log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %c - %m%n system.log 就是日志输出的TET文件了默认下 放在src 下就可以了 MaxBackupIndex的值可以任意设置吗? Java 关键字染色 DocumentListener死循环 怎么样用JDBC 写成批量更新的型式呢 求List中重复的个数!并列出来! 删除字符串中相同的字符 最近想学j2ee了,谁能给推荐本书呀? 求助,Swing中窗口JFrame如何输入点和线段 急需JAVA大学教程的答案... 急救!!如何控制 float 型变量的小数位数? java如何调用系统命令?在线等待 jb6使用体会。 Jdom 在更改xml以后,输出的utf8文件为什么没有bom头? 时钟问题~~时针分针秒针 每天能重合几次~求java代码~~各位大虾救命啊~~
BasicConfigurator.configure (): 自动快速地使用缺省Log4j环境。
PropertyConfigurator.configure ( String configFilename) :读取使用Java的特性文件编写的配置文件。
DOMConfigurator.configure ( String filename ) :读取XML形式的配置文件。
Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件(键=值)。下面引用的是使用Java特性文件做为配置文件的方法(不用XML解析器):配置根Logger,其语法为:
log4j.rootLogger = [ level ] , appenderName, appenderName, …其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。
appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。
配置日志信息输出目的地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(将日志信息以流格式发送到任意指定的地方)
配置日志信息的格式(布局),其语法为:
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配置文件的例子(内容不含前面的行号): 1log4j.rootLogger=INFO, A1 , R
2
3log4j.appender.A1=org.apache.log4j.ConsoleAppender
4log4j.appender.A1.layout=org.apache.log4j.PatternLayout
5log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
6
7log4j.appender.R=org.apache.log4j.RollingFileAppender
8log4j.appender.R.File=$TOMCAT_HOME/logs/log4j.log
9##将$TOMCAT_HOME换成tomcat的安装目录,也可以指定一个存在的任意目录
10log4j.appender.R.MaxFileSize=100KB
11log4j.appender.R.MaxBackupIndex=1
12log4j.appender.R.layout=org.apache.log4j.PatternLayout
13log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n第1行的值INFO,表示输出INFO级以上的日志,如果设成OFF则表示不输出,A1和R是自定义的两种输出方式(可以自定义n种输出方式),其详细内容在后面有定义;
第3行定义A1是输出到控制台;
第7行定义R是输出到文件,并且控制文件在指定大小,超过指定大小自动按指定形式创建一个新名称的日志文件;一般是以指定格式的文本输出日志,输出比较快捷,也可以定义HTML格式的日志输出,阅读方便,但稍微有点慢。现在,可以象使用System.out.println一样标识程序输出信息了看一个在程序中应用log4j的简单例子。
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.SimpleLayout;
import org.apache.log4j.FileAppender;
public class simpandfile {
//获取log4j日志记录器
static Logger logger = Logger.getLogger(simpandfile.class);
public static void main(String args[]) {
//新建一个日志输出样式
SimpleLayout layout = new SimpleLayout(); FileAppender appender = null;
try {
//定义输出文件
appender = new FileAppender(layout,"output1.txt",false);
} catch(Exception e) {} logger.addAppender(appender);
//设置日志输出等级为DEBUG
logger.setLevel((Level) Level.DEBUG);
//以各种等级标识输出信息
logger.debug("Here is some DEBUG");
logger.info("Here is some INFO");
logger.warn("Here is some WARN");
logger.error("Here is some ERROR");
logger.fatal("Here is some FATAL");
}
}
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=system.log
log4j.appender.R.MaxFileSize= 100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1
log4j.appender.stdout.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %c - %m%n
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %c - %m%n