package heritrix;
public class heritrix_properties {
public static void main(String[] args) {
System.out.println("配置参数");
}
/*
* ------------------------------------【heritrix.properties】--------------------------------------------
* heritrix.version = 1.14.4 //版本信息
*
* heritrix.jobsdir = jobs //工作日志的位置
*
* heritrix.cmdline.admin = admin:admin //用户名和密码
* heritrix.cmdline.port = 8008 //端口号
* heritrix.cmdline.run = false //默认是不自动运行,只有在启动时才会运行
* heritrix.cmdline.nowui = false
* heritrix.cmdline.order =
*
*
* handlers = java.util.logging.ConsoleHandler
* java.util.logging.ConsoleHandler.level = ALL
* java.util.logging.ConsoleHandler.formatter= org.archive.util.OneLineSimpleLogger
*
*
* .level= WARNING
*
* crawl.level= INFO
* runtime-errors.level= INFO
* local-errors.level= INFO
* uri-errors.level= INFO
* progress-statistics.level= INFO
* recover.level= INFO
*
* org.archive.crawler.admin.SelftestCrawlJobHandler.level = INFO
*
* org.apache.commons.httpclient.level = SEVERE
*
* org.archive.util.MemLongFPSet.level = INFO
*
* 以上信息均涉及到logger日志的使用,所以以下对logger进行介绍:
*
* 【java.util.logging.Logger】使用详解
*
* 【一、创建Logger对象】
* static Logger getLogger(String name){
* 为指定子系统查找或创建一个logger
* }
*
* static Logger getLogger(String name,String resourceBundleName){
* 为指定子系统查找或创建一个logger
* }
*
* Note:name是Logger的名称,当名称相同时,同一个名称只能创建一个logger
*
* 【二、Logger的级别】
* 全部定义在java.util.logging.Level;里面
*
* 级别:FINEST(最低)<FINER<FINE<CONFIG<INFO<WARNING<SEVERE(最高)
* 级别OFF用来关闭日志记录,级别ALL启用所有消息的日志记录。
*
* logger默认级别为INFO,低于INFO的级别日志不会显示
* logger默认级别定义在jre安装目录的lib下面。
*
* 【三、实例】
* "实例1"
*
*
*【四、Logger的Handler】
* Handler 对象从 Logger 中获取日志信息,并将这些信息导出。
* 可将这些信息写入控制台或文件中,也可以将这些信息发送到网络日志服务中,或将其转发到操作系统日志中。
*
* 可通过执行 setLevel(Level.OFF) 来禁用 Handler,并可通过执行适当级别的 setLevel 来重新启用。
*
* Handler 类通常使用 LogManager 属性来设置 Handler 的 Filter、Formatter 和 Level 的默认值。
*
* java.util.logging.Handler
java.util.logging.MemoryHandler
java.util.logging.StreamHandler
java.util.logging.ConsoleHandler
java.util.logging.FileHandler
java.util.logging.SocketHandler
“实例2”
*
*【五、Logger的Formatter】
* 由于handle输出的文件为xml文件,仍然需要使用Formatter来进行格式化处理
*
* “实例3”
*
* */
}
/*实例1*/
package test;
import java.util.logging.Level;
public class Logger {
public static void main(String[] args) {
java.util.logging.Logger log = java.util.logging.Logger.getLogger("level");
log.setLevel(Level.WARNING);
java.util.logging.Logger log1 = java.util.logging.Logger.getLogger("level");
log1.setLevel(Level.SEVERE);
java.util.logging.Logger log2 = java.util.logging.Logger.getLogger("level");
log2.setLevel(Level.INFO);
java.util.logging.Logger log3 = java.util.logging.Logger.getLogger("level");
log3.setLevel(Level.FINEST);
java.util.logging.Logger log4 = java.util.logging.Logger.getLogger("level");
log4.setLevel(Level.FINER);
java.util.logging.Logger log5 = java.util.logging.Logger.getLogger("level");
log5.setLevel(Level.FINE);
java.util.logging.Logger log6 = java.util.logging.Logger.getLogger("level");
log6.setLevel(Level.CONFIG);
log.info("aaa");
log1.info("bbb");
log2.info("ccc");
log3.info("ddd");
log4.info("eee");
log5.info("fff");
log6.info("ggg");
}
}
Output;
七月 19, 2016 2:45:34 下午 test.Logger main
信息: aaa
七月 19, 2016 2:45:34 下午 test.Logger main
信息: bbb
七月 19, 2016 2:45:34 下午 test.Logger main
信息: ccc
七月 19, 2016 2:45:34 下午 test.Logger main
信息: ddd
七月 19, 2016 2:45:34 下午 test.Logger main
信息: eee
七月 19, 2016 2:45:34 下午 test.Logger main
信息: fff
七月 19, 2016 2:45:34 下午 test.Logger main
信息: ggg
Note:logger是有等级关系的,如果将级别较高的放到最后输出,将不会有结果产生。
/*实例2*/
package test;
import java.io.IOException;
import java.util.logging.ConsoleHandler;
import java.util.logging.FileHandler;
import java.util.logging.Level;
public class Logger {
public static void main(String[] args) throws SecurityException, IOException {
java.util.logging.Logger log = java.util.logging.Logger.getLogger("level");
log.setLevel(Level.WARNING);
java.util.logging.Logger log1 = java.util.logging.Logger.getLogger("level");
log1.setLevel(Level.SEVERE);
java.util.logging.Logger log2 = java.util.logging.Logger.getLogger("level");
log2.setLevel(Level.INFO);
java.util.logging.Logger log3 = java.util.logging.Logger.getLogger("level");
log3.setLevel(Level.FINEST);
java.util.logging.Logger log4 = java.util.logging.Logger.getLogger("level");
log4.setLevel(Level.FINER);
java.util.logging.Logger log5 = java.util.logging.Logger.getLogger("level");
log5.setLevel(Level.FINE);
java.util.logging.Logger log6 = java.util.logging.Logger.getLogger("level");
log6.setLevel(Level.CONFIG);
//将日志文件从控制台输出
ConsoleHandler consolehandle = new ConsoleHandler();//创建一个控制台输出对象
consolehandle.setLevel(Level.ALL);//设置日志等级为ALL
log.addHandler(consolehandle);//一条日志设置完,继续设置下一条
//将日志文件导入到磁盘文件中
FileHandler filehandle = new FileHandler("e:/log1.log");//创建一个磁盘文件输出对象
filehandle.setLevel(Level.INFO);
log.addHandler(filehandle);
log.info("aaa");
log1.info("bbb");
log2.info("ccc");
log3.info("ddd");
log4.info("eee");
log5.info("fff");
log6.info("ggg");
}
}
实例2 结果:
/*实例3*/
package test;
import java.io.IOException;
import java.util.logging.ConsoleHandler;
import java.util.logging.FileHandler;
import java.util.logging.Formatter;
import java.util.logging.Level;
import java.util.logging.LogRecord;
public class Logger {
public static void main(String[] args) throws SecurityException, IOException {
java.util.logging.Logger log = java.util.logging.Logger.getLogger("level");
log.setLevel(Level.WARNING);
java.util.logging.Logger log1 = java.util.logging.Logger.getLogger("level");
log1.setLevel(Level.SEVERE);
java.util.logging.Logger log2 = java.util.logging.Logger.getLogger("level");
log2.setLevel(Level.INFO);
java.util.logging.Logger log3 = java.util.logging.Logger.getLogger("level");
log3.setLevel(Level.FINEST);
java.util.logging.Logger log4 = java.util.logging.Logger.getLogger("level");
log4.setLevel(Level.FINER);
java.util.logging.Logger log5 = java.util.logging.Logger.getLogger("level");
log5.setLevel(Level.FINE);
java.util.logging.Logger log6 = java.util.logging.Logger.getLogger("level");
log6.setLevel(Level.CONFIG);
//将日志文件从控制台输出
ConsoleHandler consolehandle = new ConsoleHandler();//创建一个控制台输出对象
consolehandle.setLevel(Level.ALL);//设置日志等级为ALL
log.addHandler(consolehandle);//一条日志设置完,继续设置下一条
//将日志文件导入到磁盘文件中
FileHandler filehandle = new FileHandler("e:/log1.log");//创建一个磁盘文件输出对象
filehandle.setLevel(Level.INFO);
filehandle.setFormatter(new MyLogHandle());//创建格式化实例,并进行格式化处理
log.addHandler(filehandle);
log.info("aaa");
log1.info("bbb");
log2.info("ccc");
log3.info("ddd");
log4.info("eee");
log5.info("fff");
log6.info("ggg");
}
}
class MyLogHandle extends Formatter{//格式化方法
public String format(LogRecord record){
return record.getLevel()+":"+record.getMessage()+"\n";
}
}
实例3 结果: