log4j 日志系统
日志系统:统计系统/软件的操作数据/异常信息
软件运行的日记
写给程序员看的
log4j是框架中使用最频繁的日志系统
第一步导入jar
第二步配置log4j的属性集文件(.propertes)
位置必须在src下,名字也必须是log4j.propertes
文件内容一般都是配置好的,直接粘过去就行了
log4j.rootLogger = DEBUG,stdout,D,E
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = f://logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =f://loge/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
改一下日志存放的路径就行了
日志等级: off→fatal→error→warn→info→debug→all
第三步
在类中定义有一个静态成员logeer,然后调用方法就行了
public class Demo1 {
private static Logger logger=Logger.getLogger(Demo1.class);
public static void main(String[] args) throws IOException {
show(1);
}
public static void show(int n){
try {
logger.info("info");
System.out.println(1/n);
logger.info("info2");
}catch (Exception e){
logger.error("错误");
}
logger.info("xxx");
}
}
属性集文件解析
public class Demo1 {
private static Logger logger=Logger.getLogger(Demo1.class);
public static void main(String[] args) throws IOException {
//解析属性集文件
File file=new File("src/log4j.properties");
System.out.println(file.getAbsolutePath());
FileInputStream fin=new FileInputStream(file);
//2创建proerties对象
Properties pop=new Properties();
//3关联文件对应的输入流
pop.load(fin);
//4通过属性名获取属性值
System.out.println(pop.get("log4j.rootLogger"));
System.out.println(pop.get("log4j.appender.stdout"));
}
}