Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当您不需要本地化时,是否有一种最简单的方法来获取默认ResourceBundle?_Java_Logging_Resourcebundle_Java.util.logging - Fatal编程技术网

Java 当您不需要本地化时,是否有一种最简单的方法来获取默认ResourceBundle?

Java 当您不需要本地化时,是否有一种最简单的方法来获取默认ResourceBundle?,java,logging,resourcebundle,java.util.logging,Java,Logging,Resourcebundle,Java.util.logging,我想继承以扩展java.util.logging.Logger。唯一可见的构造函数是 protected Logger(String name, String resourceBundleName) 尽管这样,当您想要获得一个实例时,它们提供了两种方式: static Logger getLogger(String name) static Logger getLogger(String name, String resourceBundleName) 有没有一种方法可以获取某种

我想继承以扩展
java.util.logging.Logger
。唯一可见的构造函数是

protected Logger(String name, String resourceBundleName)
尽管这样,当您想要获得一个实例时,它们提供了两种方式:

static Logger   getLogger(String name)
static Logger   getLogger(String name, String resourceBundleName)  
有没有一种方法可以获取某种默认的
ResourceBundle
ResourceBundle
的默认名称,这样我就可以使用构造函数,而无需创建国际化属性文件和关联对象

当然,我可以简单地生成一个包装类并使用
getLogger(String name)
来避免使用
ResourceBundle
名称。不幸的是,这意味着我必须为我想要使用的每个
Logger
方法实现一个包装器方法。(打字太多)

编辑:以下从记录器获取默认本地化数据的尝试无效

import java.util.logging.Logger;

class JLogger extends Logger
{
    static Logger dummyLogger = Logger.getLogger("com.dummy.utilities");

    private JLogger(String name)
    {
        super(name, JLogger.dummyLogger.getResourceBundleName());
    }

    static JLogger getJLogger(String name)
    {
        return new JLogger(name);
    }

    public void severe() // a zero arguments version of severe
    {
        severe("");
    }
}
getResourceBundleName()。
super(name,resourceName)
构造器构建的内容在第二个参数为
null
时不进行任何日志记录

不幸的是,这意味着我必须为我想要使用的每个记录器方法实现一个包装器方法。(打字太多)

没必要这么做,已经做过了。看一看,它们围绕java.util.logging提供了合理的包装,隐藏了该API的糟糕之处

这两个API还可以委托给适当的底层日志实现,例如Logback或Log4J,完全绕过java.util.logging