Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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(用于控制台)(使用hibernate和spring)_Java_Database_Spring_Hibernate_Log4j - Fatal编程技术网

Java 如何在项目中添加log4j(用于控制台)(使用hibernate和spring)

Java 如何在项目中添加log4j(用于控制台)(使用hibernate和spring),java,database,spring,hibernate,log4j,Java,Database,Spring,Hibernate,Log4j,我想将log4j(用于控制台)添加到项目中的测试中(我使用hibernate和spring)。 我在测试/参考资料中添加了log4j.properties: log4j.rootLogger=INFO, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j

我想将log4j(用于控制台)添加到项目中的测试中(我使用hibernate和spring)。 我在测试/参考资料中添加了log4j.properties:

log4j.rootLogger=INFO, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
并在测试类中编写:

import org.apache.log4j.Logger;
private Logger logger = Logger.getLogger(MyTest.class);

    @Test
    public void test1() {
        logger.info("info test");
        logger.debug("debug test");
    }
格拉德尔:

testCompile 'log4j:log4j:1.2.17'
但我在控制台中没有此文本(
“信息测试”
),我在控制台中有:

13:01:24.626 [main] DEBUG o.h.p.w.spi.MetamodelGraphWalker - Visiting attribute path : maxKeyNumber
13:01:24.626 [main] DEBUG o.h.p.w.spi.MetamodelGraphWalker - Visiting attribute path : updated
13:01:24.626 [main] DEBUG o.h.p.w.spi.MetamodelGraphWalker - Visiting attribute path : credential
13:01:24.626 [main] DEBUG o.h.p.w.spi.MetamodelGraphWalker - Visiting attribute path : aid
13:01:24.626 [main] DEBUG o.h.p.w.spi.MetamodelGraphWalker - Visiting attribute path : cvmConfig
13:01:24.626 [main] DEBUG o.h.p.w.spi.MetamodelGraphWalker - Visiting attribute path : dki
13:01:24.626 [main] DEBUG o.h.p.w.spi.MetamodelGraphWalker - Visiting attribute path : isMsdSupport
13:01:24.627 [main] DEBUG o.h.p.w.spi.MetamodelGraphWalker - Visiting attribute path : serviceCode

您能否验证log4j.properties资源是否在类路径中,并且是否在运行时找到?通常,如果您将test/resources文件夹添加到eclipse项目中的源路径,bin文件夹应该有它(输出文件夹名称可以不同,但此文件必须位于类路径上)。

您能验证log4j.properties资源是否在类路径中并且在运行时找到吗?通常,如果在eclipse项目中将test/resources文件夹添加到源路径,bin文件夹应该有它(输出文件夹名称可以不同,但此文件必须位于类路径上)。

在src文件夹中添加了log4j.xml文件,并更改下面xyz.log的文件位置


在src文件夹中添加了log4j.xml文件,并更改下面xyz.log位置的文件位置


您需要将控制台附件添加到log4j。我是用log4j.xml完成的,而不是用属性文件。我希望您可以将其转换为log4j.properties文件

    <appender name="console" class="org.apache.log4j.ConsoleAppender">
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d - %m%n"/>
    </layout>
</appender>

最后,您需要将这个appender添加到根记录器

    <root>
    <priority value="debug"/>
    <appender-ref ref="error"/>
    <appender-ref ref="console"/>
    <appender-ref ref="trace"/>
</root>


希望这有帮助

您需要将控制台附加程序添加到log4j。我是用log4j.xml完成的,而不是用属性文件。我希望您可以将其转换为log4j.properties文件

    <appender name="console" class="org.apache.log4j.ConsoleAppender">
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d - %m%n"/>
    </layout>
</appender>

最后,您需要将这个appender添加到根记录器

    <root>
    <priority value="debug"/>
    <appender-ref ref="error"/>
    <appender-ref ref="console"/>
    <appender-ref ref="trace"/>
</root>


希望这会有所帮助

您是否忘记将log4j依赖项放在pom中?我使用gradle,并在build.gradlear中添加了log4j依赖项。您确定这是正确的控制台吗?“System.out.println”输出是否在那里结束?很抱歉,在控制台中我有:15:15:56.228[main]INFO tests.MyTest-INFO test 15:15:56.228[main]DEBUG tests.MyTest-DEBUG tests但我只设置了“INFO”(log4j.rootLogger=INFO,stdout),为什么我在控制台中有“DEBUG”?你忘了在pom中放log4j依赖项吗?我使用gradle,我在build.gradlear中添加了log4j依赖项,你确定这是正确的控制台吗?“System.out.println”输出是否在那里结束?很抱歉,在控制台中我有:15:15:56.228[main]INFO tests.MyTest-INFO test 15:15:56.228[main]DEBUG tests.MyTest-DEBUG test,但我只设置了“INFO”(log4j.rootLogger=INFO,stdout),为什么我在控制台中有“debug”?也许您会提示我-如何验证log4j.properties资源在类路径中并且在运行时找到?我使用intellij idea,并在structure project test/resource文件夹中设置为资源。还要在磁盘上搜索整个项目以查找log4j.properties。你必须找到其中两个。。。一个在test/resources文件夹中,查看另一个在哪里。如果您在测试/资源中只找到1个,那么类路径上就没有它。现在,找到*.class文件的去向。这是您的类路径。也许您会提示我-如何验证log4j.properties资源在类路径中并且在运行时找到?我使用intellij idea,并在structure project test/resource文件夹中设置为资源。还要在磁盘上搜索整个项目以查找log4j.properties。你必须找到其中两个。。。一个在test/resources文件夹中,查看另一个在哪里。如果您在测试/资源中只找到1个,那么类路径上就没有它。现在,找到*.class文件的去向。这就是你的课程路径。为什么?OP想要登录控制台,而不是文件。为什么?OP希望登录控制台,而不是文件。在Propertyfile中,这是通过以下行完成的:“log4j.rootLogger=INFO,stdout”在Propertyfile中,这是通过以下行完成的:“log4j.rootLogger=INFO,stdout”