我的log4j2中有此配置。xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<File name="FileLogger" fileName="HelloLog4j.log" append="false">
<PatternLayout pattern="%d %t %-5p %c{2} - %m%n"/>
</File>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="hello" level="trace">
<AppenderRef ref="FileLogger"/>
</Logger>
<Root level="trace">
<AppenderRef ref="STDOUT"/>
</Root>
</Loggers>
</Configuration>
我将此文件放在src/resources中,并遵循以下指南:guide,但当我运行项目时,出现以下错误:
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
XML文件必须位于src
文件夹本身内部,而不是src/resources
或其中的任何内容,它必须位于文件夹的根级别。然而,如果这不起作用,这里有一个稍微不同的方法。
您可以使用DOM Configurator手动配置记录器。
下面是一个示例片段,描述了如何使用它。
private static org.apache.log4j.Logger logger;
public static Logger getLogger(){
if(logger == null){
logger= LogManager.getLogger(ClassName.class);
DOMConfigurator.configure("path/to/log4jxml");
}
return logger;
}
类名将是实例化类的类。在自定义类中使用Singleton设计模式,然后通过getLogger方法实例化它是一种很好的做法。不要忘记使您的构造函数私有。
编辑:
控制台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{1}:%L - %m%n" />
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="console" />
</root>
我会避免使用DOMConfigurator,坚持使用标准:put log4j2。类路径中的xml。具体位置取决于您的应用程序和运行时环境。
这是数据库架构 下面是我的log4j属性文件在写入文件时的工作版本
对于一些人来说,这可能是一个非常简单的问题,但就我个人而言,Log4j配置非常困难,学习执行脑部手术可能没有那么困难。 我正试图让多个日志记录者登录到不同的文件。这是我的log4j中的内容。属性文件: 这是我的(非常简单的)Java应用程序用于测试配置: 我有两个问题: 有一个问题,我总是在
本文向大家介绍Java中 log4j日志级别配置详解,包括了Java中 log4j日志级别配置详解的使用技巧和注意事项,需要的朋友参考一下 1.1 前言 说出来真是丢脸,最近被公司派到客户公司面试外包开发岗位,本来准备了什么redis、rabbitMQ、SSM框架的相关面试题以及自己做过的一些项目回顾,信心满满地去面试,结果别人一上来就问到了最近项目使用的日志系统是什么?日志级别是怎么配置的?
问题内容: 我目前正在使用log4j的项目中。我正在运行一个测试用例(junit),并希望将日志级别设置为跟踪,以便我可以查看所有值是否正确。在项目中使用日志记录的类包含如下一行: 并使用类似这样的命令进行实际调试 我以前从未使用过log4j,有人知道我该如何仅为测试用例更改日志级别,最好仅通过在Eclipse的运行配置对话框中定义一个参数即可。 问题答案: 使用另一个配置文件 也许您可以指向另一
问题内容: 我还找不到关于如何使用Log4j的XML样式配置文件配置Hibernate日志记录的任何文档。 这是否有可能,或者我是否使用属性样式配置文件来控制Hibernate的日志记录? 如果有人有任何信息或文档链接,我们将不胜感激。 编辑: 只是为了澄清,我正在寻找控制Hibernate的实际XML语法的示例。 EDIT2: 这是我的XML配置文件中的内容。 日志记录工作正常,但是我正在寻找一
我试图通过以下代码实现一个基本配置器 的类def是 我使用的是Log4j2,分布在这里。当我在构建路径中有Log4j-to-slf4j和实现jar时,我总是得到SLF4J桥接错误: 我认为应该为DEBUG配置根记录器,因此我的所有日志语句都应该通过(即DEBUG级别或更高级别的任何内容)。但运行应用程序时,在控制台上看不到任何日志消息。我错过了什么?