您的位置:首页 > 编程语言 > Java开发

【Heritrix 04】heritrix.properties+java.util.logging.Logger

2016-07-19 15:46 706 查看
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 结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: