把不同的log记录到不同的地方的例子程序 .
其配置文件如下 .
如果你也学习的话可以放到eclipse3.1下试 试,我已经成功的。
log4j.properties放在SRC目录下。
package
Log4jEX;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class ExaWithLog4j {
private static final String LOG4J_PROPERTIES = "./src/log4j.properties";
static final Logger logger =
(Logger) Logger.getLogger(ExaWithLog4j.class.getName());
static Log Blog=LogFactory.getLog("Businesslog");
static Log Elog=LogFactory.getLog("Errlog");
//PropertyConfigurator.configure ( "ServerWithLog4j.properties" )
/**
* @return Returns the lOG4J_PROPERTIES.
*/
public static String getLOG4J_PROPERTIES() {
return LOG4J_PROPERTIES;
}
public static void main(String[] args){
System.out.println(getLOG4J_PROPERTIES());
readCfg();
//logger.setLevel ( ( Level ) Level.DEBUG ) ;
for (int j = 0; j < 100; j++) {
System.out.println("第"+j+"次"+"log4j_debug");
Elog.debug("log4j_debug");
System.out.println("第"+j+"次"+"log4j_info");
Blog.info("log4j_info");
}
}
/**
* PropertyConfigurator.configure
*/
private static void readCfg() {
PropertyConfigurator.configure (LOG4J_PROPERTIES);
}
}
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class ExaWithLog4j {
private static final String LOG4J_PROPERTIES = "./src/log4j.properties";
static final Logger logger =
(Logger) Logger.getLogger(ExaWithLog4j.class.getName());
static Log Blog=LogFactory.getLog("Businesslog");
static Log Elog=LogFactory.getLog("Errlog");
//PropertyConfigurator.configure ( "ServerWithLog4j.properties" )
/**
* @return Returns the lOG4J_PROPERTIES.
*/
public static String getLOG4J_PROPERTIES() {
return LOG4J_PROPERTIES;
}
public static void main(String[] args){
System.out.println(getLOG4J_PROPERTIES());
readCfg();
//logger.setLevel ( ( Level ) Level.DEBUG ) ;
for (int j = 0; j < 100; j++) {
System.out.println("第"+j+"次"+"log4j_debug");
Elog.debug("log4j_debug");
System.out.println("第"+j+"次"+"log4j_info");
Blog.info("log4j_info");
}
}
/**
* PropertyConfigurator.configure
*/
private static void readCfg() {
PropertyConfigurator.configure (LOG4J_PROPERTIES);
}
}
其配置文件如下 .
##CONFIGURATION FOR LOG4J##
# ????? DEBUG
log4j.rootLogger = DEBUG
#log4j.rootCategory = DEBUG, A1,A2
# ????
log4j.logger.Errlog = DEBUG,A1
# ????
log4j.logger.Businesslog = INFO,A2
# ?? appender A1 ????????? error.log ?
log4j.appender.A1 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.file = e: / Log4jEx.log
log4j.appender.A1.DatePattern = ' . ' yyyy - MM - dd
log4j.appender.A1.layout = org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern = [ %- 5p] % d {yyyy-MM-dd HH:mm:ss,SSS} method: % l % n % m % n
# ?? appender A2 ????????? business.log ?
log4j.appender.A2 = org.apache.log4j.ConsoleAppender
log4j.appender.A2.layout = org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern =% d % p [ % c] - % m % n
# ????? DEBUG
log4j.rootLogger = DEBUG
#log4j.rootCategory = DEBUG, A1,A2
# ????
log4j.logger.Errlog = DEBUG,A1
# ????
log4j.logger.Businesslog = INFO,A2
# ?? appender A1 ????????? error.log ?
log4j.appender.A1 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.file = e: / Log4jEx.log
log4j.appender.A1.DatePattern = ' . ' yyyy - MM - dd
log4j.appender.A1.layout = org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern = [ %- 5p] % d {yyyy-MM-dd HH:mm:ss,SSS} method: % l % n % m % n
# ?? appender A2 ????????? business.log ?
log4j.appender.A2 = org.apache.log4j.ConsoleAppender
log4j.appender.A2.layout = org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern =% d % p [ % c] - % m % n
如果你也学习的话可以放到eclipse3.1下试 试,我已经成功的。
log4j.properties放在SRC目录下。