步骤:
1. place
log4j.properties
to classes path;
2. declare logger with class var:
private static Logger logger = Logger.getLogger(MyApp.class);
3. use logger to log:
logger.debug("1 application.");
Example config file log4j.properties:
# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger= ERROR, A1, A2 # set default log level
log4j.rootLogger= ERROR, A1, A2 # set default log level
log4j.category.org.apache.struts=WARN
log4j.category.org.apache.commons.logging=WARN
log4j.category.com.myproject=DEBUG # set individual log level apply to special package
log4j.category.org.pi=DEBUG
log4j.category.org.apache.commons.logging=WARN
log4j.category.com.myproject=DEBUG # set individual log level apply to special package
log4j.category.org.pi=DEBUG
# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
#log4j.appender.A1.layout.ConversionPattern=%5p [%t] (%F:%M:%L) - %m%n
log4j.appender.A1.layout.ConversionPattern=%5p [%d{HH:mm:ss}] (%F:%M:%L) - %m%n
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
#log4j.appender.A1.layout.ConversionPattern=%5p [%t] (%F:%M:%L) - %m%n
log4j.appender.A1.layout.ConversionPattern=%5p [%d{HH:mm:ss}] (%F:%M:%L) - %m%n
# A2 is set to be a RollingFileAppender
log4j.appender.A2=org.apache.log4j.RollingFileAppender
log4j.appender.A2.File= E:/system.log #here use: / don't use:/
log4j.appender.A2.MaxFileSize=2048KB
log4j.appender.A2.MaxBackupIndex=100
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%5p [%d{dd MMM HH:mm:ss}] (%F:%M:%L) - %m%n
log4j.appender.A2=org.apache.log4j.RollingFileAppender
log4j.appender.A2.File= E:/system.log #here use: / don't use:/
log4j.appender.A2.MaxFileSize=2048KB
log4j.appender.A2.MaxBackupIndex=100
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%5p [%d{dd MMM HH:mm:ss}] (%F:%M:%L) - %m%n
实践:
1
、先把那个
log4j-1.2.8.jar down
下来。
2
、新建一个
java
工程
(
我是用的
Eclipse3.0)
,然后将
log4j-1.2.8.jar
添加到工程的
java build path
中
lib
里。
3
、新建一个
Logs
类。
import org.apache.log4j.Logger ;
/**
* 日志输出
* @author dxg
*
*/
public class Logs {
String log4j;
static Logger logger = Logger.getLogger(Logs.class.getName ()) ;
}
/**
* 日志输出
* @author dxg
*
*/
public class Logs {
String log4j;
static Logger logger = Logger.getLogger(Logs.class.getName ()) ;
}
4
、新建一个属性文件,后缀为
.properties
。例如我的:
Log4j.properties
,文件的内容如下:
log4j.rootLogger=debug, A1,A2
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern= "%-4r [%t] %-5p %c %x - %m%n
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%r][%t][%c]-[%p](%F:%L) %m%n
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern= "%-4r [%t] %-5p %c %x - %m%n
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%r][%t][%c]-[%p](%F:%L) %m%n
log4j.appender.A2=org.apache.log4j.RollingFileAppender
log4j.appender.A2.File=c:/logout.log
log4j.appender.A2.MaxFileSize=100KB
log4j.appender.A2.MaxBackupIndex=1
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} {%r}[%t][%c]-[%p](%F:%L) %m%n
log4j.appender.A2.File=c:/logout.log
log4j.appender.A2.MaxFileSize=100KB
log4j.appender.A2.MaxBackupIndex=1
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} {%r}[%t][%c]-[%p](%F:%L) %m%n
5
、属性文件的目录放置到工程里的根目录
WebRoot/WEB-INF/classes
6
、新建一个测试类。并在类中引用
logs,
public static boolean fileReader1() {
boolean bl = false;
String line = null;
try {
BufferedReader br = new BufferedReader(
new FileReader("d://sss.txt"));
while ((line = br.readLine()) != null) {
//System.out.println(line);// 读取文件
Logs.logger.debug(line);
bl = true;
}
} catch (Exception e) {
System.out.println("" + e.toString());
Logs.logger.debug(e.toString());
} finally {
//System.out.println("It's just a test!");
}
return bl;
}