【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 结果:
相关文章推荐
- Java集合类
- 源码分析-java-AbstractList-subList、RandomAccess、equals和hashCode
- 使用zkClient连接zookeeper服务
- 第4条:消除过期的对象
- Spring Boot实战之文件上传存入Azure Storage
- Java对象的序列化和反序列化
- Java动态代理(三)——模拟AOP实现
- 杨老师课堂之springAOP事务控制源码解析
- Struts拦截器学习笔记
- Spring AOP: Spring之面向方面编程
- JAVA实践图的遍历
- Spring AOP 实现原理
- SpringMVC-入门
- 使用Spring MVC拦截器实现日志记录
- springmvc使用@RequestBody时报400错误
- struts2中直接访问没问题但是<jsp:forward>跳转时报404错误的问题
- struts2 拦截器和actioninvocation
- JEECG 3.6.5版本发布,企业级JAVA快速开发平台
- [原创]java WEB学习笔记49:文件上传基础,基于表单的文件上传,使用fileuoload 组件
- java集群