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 Log4j日志记录不工作_Java_Logging_Log4j - Fatal编程技术网

Java Log4j日志记录不工作

Java Log4j日志记录不工作,java,logging,log4j,Java,Logging,Log4j,我已经从内置路径添加了log4j。编写了一个简单的方法来测试日志级别,但它不会在控制台上打印任何内容 import org.apache.log4j.Level; import org.apache.log4j.Logger; public class LoggerLevelTest { private static org.apache.log4j.Logger log = Logger .getLogger(LoggerLevelTest.class);

我已经从内置路径添加了
log4j
。编写了一个简单的方法来测试
日志级别
,但它不会在控制台上打印任何内容

import org.apache.log4j.Level;
import org.apache.log4j.Logger;

public class LoggerLevelTest {

    private static org.apache.log4j.Logger log = Logger
            .getLogger(LoggerLevelTest.class);

    public static void main(String[] args) {
        log.setLevel(Level.WARN);

        log.trace("Trace Message!");
        log.debug("Debug Message!");
        log.info("Info Message!");
        log.warn("Warn Message!");
        log.error("Error Message!");
        log.fatal("Fatal Message!");
    }

}
Log4j.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
    <Properties>
        <Property name="LEVEL">WARN</Property> <!-- default value -->
    </Properties>
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
        </Console>
    </Appenders>
    <Loggers>
        <Root level="${sys:LEVEL}">
            <AppenderRef ref="Console" />
        </Root>
    </Loggers>
</Configuration>

上面的示例链接:

我认为您的xml无效。。。您的实际输出

log4j:WARN Document root element "Configuration", must match DOCTYPE root "null".
...
log4j:ERROR DOM element is - not a <log4j:configuration> element.
log4j:WARN文档根元素“Configuration”,必须与DOCTYPE root“null”匹配。
...
log4j:错误DOM元素是-不是元素。
我认为您应该这样定义xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <appender name="xyz" ... />

    <root> 
       ...
    </root>

</log4j:configuration>

...

您的配置在中,这是有效的,但您需要在
log4j2.xml
中将log4j.properties文件放在类路径中,需要两个
.xml
.properties
中的一个。我添加了
.xml
。我还更改了输出。请编辑您的问题,以包括您正在使用的
.xml
文件的内容。考虑到输出中根元素名称(
Configuration
)中的大写字母
C
,我怀疑这是一个Log4j2配置文件,它不能与Log4j 1.2.1一起使用,我的问题解决了
log4j:WARN Document root element "Configuration", must match DOCTYPE root "null".
...
log4j:ERROR DOM element is - not a <log4j:configuration> element.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <appender name="xyz" ... />

    <root> 
       ...
    </root>

</log4j:configuration>