Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.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/9/delphi/8.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 如何为logger生成实例?_Java_Logging - Fatal编程技术网

Java 如何为logger生成实例?

Java 如何为logger生成实例?,java,logging,Java,Logging,这是我的密码 package com.my; import org.apache.log4j.spi.LoggerFactory; import java.io.*; import java.util.logging.*; public class Log { public static void main(String[] args) { try{ FileHandler hand = new FileHandler("vk.log");

这是我的密码

package com.my;
import org.apache.log4j.spi.LoggerFactory;
import java.io.*;
import java.util.logging.*;

public class Log {
      public static void main(String[] args) {
      try{
           FileHandler hand = new FileHandler("vk.log");
           Logger log = Logger.getLogger("log_file");
           log.addHandler(hand);
           log.warning("Doing carefully!");
           log.info("Doing something ...");
           log.severe("Doing strictily ");
           System.out.println(log.getName());
      }
      catch(IOException e){
           System.out.println(e)
      }
    }

}

您的代码或多或少都很好。请检查导入内容,如果删除该行,则应能正常工作:

log.getLogger("");
然后,类的工作实现将是:

import java.io.IOException;
import java.util.logging.FileHandler;
import java.util.logging.Logger;

public class test {
    public static void main(String[] args) {
    try {
        FileHandler hand = new FileHandler("vk.log");
        Logger log = Logger.getLogger("log_file");
        log.addHandler(hand);
        log.warning("Doing carefully!");
        log.info("Doing something ...");
        log.severe("Doing strictily ");
        System.out.println(log.getName());
    } catch (IOException e) {
        // Handle error.
    }
}
}


您能进一步解释您的问题吗?

您的代码或多或少都很好。请检查导入,如果您删除了该行,则应该可以正常工作:

log.getLogger("");
然后,类的工作实现将是:

import java.io.IOException;
import java.util.logging.FileHandler;
import java.util.logging.Logger;

public class test {
    public static void main(String[] args) {
    try {
        FileHandler hand = new FileHandler("vk.log");
        Logger log = Logger.getLogger("log_file");
        log.addHandler(hand);
        log.warning("Doing carefully!");
        log.info("Doing something ...");
        log.severe("Doing strictily ");
        System.out.println(log.getName());
    } catch (IOException e) {
        // Handle error.
    }
}
}


你能进一步解释你的问题吗?

这里有一些建议

注意你的进口,你在混合 Log4j或java.util.logging导入 无需调用getLogger两次 对例外情况做点什么, 即使这意味着使用 本测试中的System.out.println e.printStackTrace 案例如果出现问题, 你把它们藏起来了。
这里有一些建议

注意你的进口,你在混合 Log4j或java.util.logging导入 无需调用getLogger两次 对例外情况做点什么, 即使这意味着使用 本测试中的System.out.println e.printStackTrace 案例如果出现问题, 你把它们藏起来了。
如果删除多余的log.getLogger,代码应该可以工作;语句并修复导入

有几点意见:

如果您有多个记录器,您可以有选择地打开和关闭它们。传统的做法是基于类或包名创建多个记录器;e、 g

Logger log = Logger.getLogger(this.getClass());

您正在以编程方式实例化和关联处理程序。最好将日志记录配置放在XML或属性文件中,并使用其中一个配置程序加载它并连接日志记录处理程序。这让你。。。或者用户。。。在不修改代码的情况下调整日志记录

您可能应该阅读说明上述内容以及有关使用log4j的其他内容的文档


以上假设您试图使用log4j。如果您真的试图使用java.util.logging,那么有些细节并不完全正确。而且,在我看来,使用log4j或它的后代会更好。

如果删除多余的log.getLogger,代码应该可以工作;语句并修复导入

有几点意见:

如果您有多个记录器,您可以有选择地打开和关闭它们。传统的做法是基于类或包名创建多个记录器;e、 g

Logger log = Logger.getLogger(this.getClass());

您正在以编程方式实例化和关联处理程序。最好将日志记录配置放在XML或属性文件中,并使用其中一个配置程序加载它并连接日志记录处理程序。这让你。。。或者用户。。。在不修改代码的情况下调整日志记录

您可能应该阅读说明上述内容以及有关使用log4j的其他内容的文档


以上假设您试图使用log4j。如果您真的试图使用java.util.logging,那么有些细节并不完全正确。而且,在我看来,使用log4j或它的后代会更好。

你的问题是什么?另外,请删除空的catch块,因为它会吞下任何异常,您将无法理解发生了什么。用catchIOException e{throw new runtimeExceptionOne;}替换它。你的问题是什么?另外,请删除空的catch块,因为它会吞下任何异常,您将无法理解发生了什么。将其替换为catchIOException e{throw new runtimeExceptionOne;}日志是我的类的实例吗?不,日志是我的类的实例吗?不,日志是日志的实例。我不理解你的问题。日志是我的类的实例吗?当然不是。您的类名为Log,是我从您的代码中借用的Log变量!使用SomeClass.class时要小心,OP使用的是java.util.logging,而不是Log4j,因此class参数不被接受。我不明白你的问题。log是我的类的实例吗?当然不是。您的类名为Log,是我从您的代码中借用的Log变量!有类型记录器。小心使用SomeClass.class,OP使用的是java.util.logging而不是Log4j,因此类参数不被接受Yeah e.printStackTrace将是首选Yeah e.printStackTrace将是首选