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

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 结果:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值