Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.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
默认情况下如何将java记录器输出到文件_Java_Logging_Java.util.logging - Fatal编程技术网

默认情况下如何将java记录器输出到文件

默认情况下如何将java记录器输出到文件,java,logging,java.util.logging,Java,Logging,Java.util.logging,Netbeans深思熟虑地将Logger.getLogger(this.getClass().getName()).log(Level.[…] 现在我想把它们都指向一个文件(和控制台) 每一个日志记录教程(只有我一个)都会告诉你如何将一个特定的日志记录程序输出到一个文件中,但我认为有一个比修复每个自动生成的日志记录语句更好的方法?为某种根日志记录程序或其他什么设置一个处理程序?你必须定义日志在日志记录程序配置文件中的写入位置。 例如,如果使用log4j,则log4j.xml(或log4j.pro

Netbeans深思熟虑地将Logger.getLogger(this.getClass().getName()).log(Level.[…] 现在我想把它们都指向一个文件(和控制台)


每一个日志记录教程(只有我一个)都会告诉你如何将一个特定的日志记录程序输出到一个文件中,但我认为有一个比修复每个自动生成的日志记录语句更好的方法?为某种根日志记录程序或其他什么设置一个处理程序?

你必须定义日志在日志记录程序配置文件中的写入位置。 例如,如果使用log4j,则log4j.xml(或log4j.properties)文件将包含此类信息

例如,下面是一个简单的log4j.xml文件,它直接登录到一个文件(my app.log)和控制台中:

<?xml version="1.0" encoding="UTF-8"?>
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <appender name="rolling" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="my-app.log" />
        <param name="DatePattern" value=".yyyy-MM-dd" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d{yyyy-MM-dd HH:mm:ss} %-5p [%C] [IP=%X{ipAddress}] [user=%X{user}] %m%n" />
        </layout>
    </appender>

    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d{yyyy-MM-dd HH:mm:ss} %-5p [%C] [user=%X{user}] %m%n" />
        </layout>
    </appender>

    <root>
        <priority value="info" />
        <appender-ref ref="console" />
        <appender-ref ref="rolling" />
    </root>

</log4j:configuration>

我只是在启动时添加了以下内容

Handler handler = new FileHandler("test.log", LOG_SIZE, LOG_ROTATION_COUNT);
Logger.getLogger("").addHandler(handler);
您可以为
LOG\u SIZE
LOG\u ROTATION\u COUNT


您可能需要调整日志记录级别以适应。

我认为,从标签上看,提问者使用的是java.util.logging中的类,而不是log4j。他没有使用log4j:netbeans为java.util.logging生成代码谢谢大家。这看起来像是我要做的事情。这样做只会给我一个“无法取消引用的Void”IDE正在生成捕获块来“吃掉”异常?卑鄙!这解释了很多。