log4j输出源|log4j配置文件
2006-09-09 19:23
274 查看
[align=left]l Log4j输出源的附加特性说明:[/align]
[align=left]日志记录器C的日志语句的输出将定向到C和它的祖先中的所有的输出源。这是条款“输出源的附加特性(appender additivity)”的意图.[/align]
[align=left]然而,假如有一个日志记录器C的祖先,叫做P,有一个附加标识被设置为false,然后C的输出将被定向到C和直到C的祖先P(包括P)中的所有的输出源,但是不包括P的祖先的中的任何输出源。[/align]
日志记录器有它自己附加特性,该特性被默认设置为true
下表展示了一个例子:
l 在log4j中指定配置文件时,默认是要放在项目的目录下……
package logFourj;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class LogFourjTest {
public static void main(String[] args) {
// TODO 自动生成方法存根
//**这里用PropertyConfigurator.configure方法调的log4j.properties文件要放在logFour 包外,项目下,与logFour包同级**//
//PropertyConfigurator.configure("log4j.properties");
//**这里用PropertyConfigurator.configure方法调的log4j.properties文件时由于指定了在logFourj目录下,于是可以将log4j.properties文件放在调用类LogFourjTest的同级目录下**//
PropertyConfigurator.configure("logFourj/log4j.properties");
Logger logger = Logger.getLogger(LogFourjTest.class);
logger.debug("i am debug");
logger.info("i am info");
logger.warn("i am warn");
logger.error("i am error");
logger.fatal("i am fatal");
}
}
l 配置文件如下:
##设置根日志记录器;等号后面依次是设置级别和输出源##
[align=left]log4j.rootLogger=debug, stdout, R[/align]
[align=left]#设置输出源 [/align]
[align=left]log4j.appender.stdout=org.apache.log4j.ConsoleAppender[/align]
[align=left]#设置布局器[/align]
[align=left]log4j.appender.stdout.layout=org.apache.log4j.PatternLayout[/align]
[align=left] [/align]
[align=left]# Pattern to output the caller''s file name and line number.[/align]
[align=left]log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n[/align]
[align=left] [/align]
[align=left]log4j.appender.R=org.apache.log4j.RollingFileAppender[/align]
[align=left]log4j.appender.R.File=example.log[/align]
[align=left] [/align]
[align=left]log4j.appender.R.MaxFileSize=100KB[/align]
[align=left]# Keep one backup file[/align]
[align=left]log4j.appender.R.MaxBackupIndex=1[/align]
[align=left] [/align]
[align=left]log4j.appender.R.layout=org.apache.log4j.PatternLayout[/align]
[align=left]log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n[/align]
[align=left] [/align]
[align=left]#设置cn.itcast.yao子记录器的信息[/align]
[align=left]log4j.logger.cn.itcast.yao=WARN,A1[/align]
[align=left] [/align]
[align=left]#设置additivity属性值为FALSE, 输出将被定向到cn.itcast.yao的所有子子孙孙和直到cn.itcast.yao(包括cn.itcast.yao)中的所有的输出源,但是不包括cn.itcast.yao的祖先的中的任何输出源。[/align]
[align=left]log4j.additivity.cn.itcast.yao=FALSE[/align]
[align=left] [/align]
[align=left]log4j.appender.A1=org.apache.log4j.ConsoleAppender[/align]
[align=left]log4j.appender.A1.layout=org.apache.log4j.PatternLayout[/align]
[align=left]log4j.appender.A1.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n[/align]
l 在应用类中:
#可以直接用cn.itcast.yao设置其所属辈份
Logger logger = Logger.getLogger("cn.itcast.yao");
[align=left]日志记录器C的日志语句的输出将定向到C和它的祖先中的所有的输出源。这是条款“输出源的附加特性(appender additivity)”的意图.[/align]
[align=left]然而,假如有一个日志记录器C的祖先,叫做P,有一个附加标识被设置为false,然后C的输出将被定向到C和直到C的祖先P(包括P)中的所有的输出源,但是不包括P的祖先的中的任何输出源。[/align]
日志记录器有它自己附加特性,该特性被默认设置为true
下表展示了一个例子:
[align=center]日志记录器[/align] | [align=center]添加的输出源[/align] | [align=center]附加特性标识[/align] | [align=center]输出目标[/align] | [align=center]评论[/align] |
[align=left]root [/align] | [align=left]A1 [/align] | [align=left]not applicable [/align] | [align=left]A1 [/align] | [align=left]根日志记录器是匿名的,但是可以用Logger.getRootLogger()方法来存取。根日志记录器没有默认输出源。[/align] |
[align=left]x [/align] | [align=left]A-x1, A-x2 [/align] | [align=left]true [/align] | [align=left]A1, A-x1, A-x2 [/align] | [align=left]x和根的输出源[/align] |
[align=left]x.y [/align] | [align=left]none [/align] | [align=left]true [/align] | [align=left]A1, A-x1, A-x2 [/align] | [align=left]x和根的输出源[/align] |
[align=left]x.y.z [/align] | [align=left]A-xyz1 [/align] | [align=left]true [/align] | [align=left]A1, A-x1, A-x2, A-xyz1 [/align] | [align=left]x.y.z 、x和根的输出源[/align] |
[align=left]security [/align] | [align=left]A-sec [/align] | [align=left]false [/align] | [align=left]A-sec [/align] | [align=left]由于附加标识被设置为false,没有输出源聚集[/align] |
[align=left]security.access [/align] | [align=left]none [/align] | [align=left]true [/align] | [align=left]A-sec [/align] | [align=left]由于安全中附加标识被设置为false,所以仅仅有安全的输出源。[/align] |
package logFourj;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class LogFourjTest {
public static void main(String[] args) {
// TODO 自动生成方法存根
//**这里用PropertyConfigurator.configure方法调的log4j.properties文件要放在logFour 包外,项目下,与logFour包同级**//
//PropertyConfigurator.configure("log4j.properties");
//**这里用PropertyConfigurator.configure方法调的log4j.properties文件时由于指定了在logFourj目录下,于是可以将log4j.properties文件放在调用类LogFourjTest的同级目录下**//
PropertyConfigurator.configure("logFourj/log4j.properties");
Logger logger = Logger.getLogger(LogFourjTest.class);
logger.debug("i am debug");
logger.info("i am info");
logger.warn("i am warn");
logger.error("i am error");
logger.fatal("i am fatal");
}
}
l 配置文件如下:
##设置根日志记录器;等号后面依次是设置级别和输出源##
[align=left]log4j.rootLogger=debug, stdout, R[/align]
[align=left]#设置输出源 [/align]
[align=left]log4j.appender.stdout=org.apache.log4j.ConsoleAppender[/align]
[align=left]#设置布局器[/align]
[align=left]log4j.appender.stdout.layout=org.apache.log4j.PatternLayout[/align]
[align=left] [/align]
[align=left]# Pattern to output the caller''s file name and line number.[/align]
[align=left]log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n[/align]
[align=left] [/align]
[align=left]log4j.appender.R=org.apache.log4j.RollingFileAppender[/align]
[align=left]log4j.appender.R.File=example.log[/align]
[align=left] [/align]
[align=left]log4j.appender.R.MaxFileSize=100KB[/align]
[align=left]# Keep one backup file[/align]
[align=left]log4j.appender.R.MaxBackupIndex=1[/align]
[align=left] [/align]
[align=left]log4j.appender.R.layout=org.apache.log4j.PatternLayout[/align]
[align=left]log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n[/align]
[align=left] [/align]
[align=left]#设置cn.itcast.yao子记录器的信息[/align]
[align=left]log4j.logger.cn.itcast.yao=WARN,A1[/align]
[align=left] [/align]
[align=left]#设置additivity属性值为FALSE, 输出将被定向到cn.itcast.yao的所有子子孙孙和直到cn.itcast.yao(包括cn.itcast.yao)中的所有的输出源,但是不包括cn.itcast.yao的祖先的中的任何输出源。[/align]
[align=left]log4j.additivity.cn.itcast.yao=FALSE[/align]
[align=left] [/align]
[align=left]log4j.appender.A1=org.apache.log4j.ConsoleAppender[/align]
[align=left]log4j.appender.A1.layout=org.apache.log4j.PatternLayout[/align]
[align=left]log4j.appender.A1.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n[/align]
l 在应用类中:
#可以直接用cn.itcast.yao设置其所属辈份
Logger logger = Logger.getLogger("cn.itcast.yao");
相关文章推荐
- 有效Log4j按指定级别定向输出日志到指定的输出文件地址配置Threshold,log4j中如何屏蔽父logger输出源rootlogger的additivity配置,log4j向多个文件记录日志
- log4j.properties配置文件
- Log4j 分别使用不同的配置文件
- Log4j日志文件常用配置
- 一个比较全的的log4j配置文件(log4j.properties)
- Log4j 日志工具demo以及配置文件实例[申明:来源于网络]
- Log4j 为每一个类产生单独的配置文件
- log4j配置文件 不在classpath路径的初始化
- log4j配置日志文件log4j.appender.R.File相对路径方法
- log4j配置单独日志文件输出
- log4j.properties日志配置文件解析与配置
- 因缺失log4j.properties 配置文件导致flume无法正常启动。
- log4j 配置文件
- Log4J配置文件详解(转载一)
- log4j输出多个自定义日志文件,动态配置路径
- log4j输出多个自定义日志文件,动态配置路径
- Log4j.properties文件配置详解及模板
- log4j每日产生一文件配置
- Log4j日志输出方式配置文件log4j.properties用法个人见解
- log4j的配置及使用,输出到文件和控制台,不同包输出到不同文件