Tag: log4j2

使用ConfigurationFactory以编程方式配置log4j2

我正在尝试仅通过使用ConfigurationFactory和此引用来配置和设置Log4j2。 我正在使用的代码如下: public class LoggingConfiguration { public static final String PATTERN_LAYOUT = “[%d] [%t] [%-5level] – %msg (%logger{1}:%L) %n%throwable”; public static final String LOG_FILE_NAME = “app.log”; public static final String LOG_FILE_NAME_PATTERN = LOG_FILE_NAME + “-yyyy.MM.dd”; static { ConfigurationFactory.setConfigurationFactory(new Log4j2ConfigurationFactory()); } /** * Just to make JVM visit this class to initialize the static parts. */ […]

Log4j2在apender中过滤特定级别

我应该使用什么filter来定义用apender记录的特定级别? 例如: Java的: LOGGER.debug(“Debug message”); LOGGER.info(“Info message”); LOGGER.warn(“Warn message”); LOGGER.error(“Error message”); LOGGER.fatal(“Fatal message”); log4j2.xml: 文件输出很好,但在控制台我有这样的结果: [application.Main] [INFO] Info message [application.Main] Info message [application.Main] [WARN] Warn message [application.Main] Warn message [application.Main] [ERROR] Error message [application.Main] Error message [application.Main] [FATAL] Fatal message [application.Main] Fatal message 但我需要info-stdout-message appender只输出INFO消息,而detail detailed-stdout-message输出所有EXEPT INFO。 所以控制台输出应该如下所示: [application.Main] Info message [application.Main] [WARN] Warn message […]

以编程方式加载Log4j2配置文件

我想从我的应用程序以编程方式加载Log4j2 XML配置文件。 试过这个: ConfigurationSource source = new ConfigurationSource(); source.setLocation(logConfigurationFile); Configurator.initialize(null, source); 和这个: ConfigurationSource source = new ConfigurationSource(); source.setLocation(logConfigurationFile); ConfigurationFactory factory = (ConfigurationFactory) XMLConfigurationFactory.getInstance().getConfiguration(source); ConfigurationFactory.setConfigurationFactory(factory); 但是没有任何作用。

如果我们将它与slf4j api一起使用,我们可以使用log4j2的所有function吗?

我们已经迁移了所有代码以使用slf4 API来使用通用API,但是现在我们正在考虑从log4j 1.x升级到log4j 2.x. 如果我们使用slf4j API和log4j2作为实现,我们是否能够使用log4j2的所有function?

如何在运行时使用log4j2 api将loglevel从INFO设置为ERROR?

log4中没有logger.setLevel()方法。 那么如何在运行时设置日志级别。

log4j 2向控制台appender添加多种颜色

嗨,我刚刚下载并配置了log4j-2。 我坚持将颜色代码应用于SlowConsole控制台appender。 我的控制台appender如下所示。 我有两个问题, 我是log4j的新手,这是编写xml配置文件的正确方法吗? 如何在每个日志级别添加两个颜色代码? 例如:DEBUG =绿色 – >将输出浅绿色字体,但我需要它是dim和bold

加载XML配置文件时出现Log4j2错误

我正在尝试使用嵌入在我的Java应用程序中的Log4j2的XML配置文件,但是不起作用。 代码: ConfigurationSource source = new ConfigurationSource(Main.class.getResourceAsStream(“/in/gunbound/prelauncher/server/log4j2/log4j2.xml”)); ConfigurationFactory factory = (ConfigurationFactory) XMLConfigurationFactory.getInstance().getConfiguration(source); ConfigurationFactory.setConfigurationFactory(factory); 错误: 线程“main”中的exceptionjava.lang.ClassCastException:org.apache.logging.log4j.core.config.XMLConfiguration无法强制转换为in.gunbound.prelauncher.server中的org.apache.logging.log4j.core.config.ConfigurationFactory .Main.main(Main.java:62)

Log4j2 RollingFile Appender – 在每个日志文件的开头添加自定义信息

在java 1.7中使用log4j2(beta9)。 我的完整log4j2.xml: Tts %d %-5p [%t] %C{2} (%F:%L) – %m%n %d %highlight{%-5p}{FATAL=bright red, ERROR=red, WARN=yellow, INFO=cyan, DEBUG=green, TRACE=bright blue} %style{[%t] %C{2} (%F:%L) -}{bright,black} %m%n Log/${projectPrefix}.log Log/${projectPrefix}-%i.log 我想在每个日志文件的顶部添加一些自定义信息,例如我的应用程序的版本字符串,应用程序正常运行时间和系统正常运行时间。 甚至在刚刚关闭的日志文件的底部写一些“bye,bye / eof”也没关系。 当RollingFileAppander创建了一个新文件时,是否有像钩子或回调这样的东西得到通知,以便我可以将我的东西放在这些新的日志文件(或任何其他建议)中?

如何用log4j2只记录一个级别?

我在我的应用程序中使用log4j2。 我想要的是一切都要去’调试’去控制台,一切都要去’info’去myapp.log,只有’info’去’myapp-audit.log’。 原因是,INFO主要包括对数据的成功修改(例如“用户创建”,“用户更新”,“用户删除”等)。 如果是有效的数据修改审计日志。 但我无法弄明白该怎么做。 如何才能获得“info”以登录“myapp-audit.log”? 这是我目前的配置……

将log4j2与slf4j一起使用

所以我尝试在他们的网站上遵循这个 (非maven实现)和要求,将slf4j添加到log4j。 并尝试使用此代码 public static void main(String[] args) { Logger logger = LoggerFactory.getLogger(Main.class); logger.info(“test”); } 并将以下内容添加到我的库中 log4j的-API-2.3.jar log4j的核心-2.3.jar log4j的-sl4j-IMPL-2.3.jar log4j的到sl4j-2.3.jar SLF4J-API 1.7.12.jar 当我尝试运行它时,我收到以下错误 Exception in thread “main” java.lang.StackOverflowError at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936) at java.util.concurrent.ConcurrentHashMap.containsKey(ConcurrentHashMap.java:964) at org.apache.logging.slf4j.SLF4JLoggerContext.getLogger(SLF4JLoggerContext.java:40) at org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.java:37) at org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.java:29) at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47) at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29) at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:284) at org.apache.logging.slf4j.SLF4JLoggerContext.getLogger(SLF4JLoggerContext.java:41) at org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.java:37) at org.apache.logging.slf4j.Log4jLoggerFactory.newLogger(Log4jLoggerFactory.java:29) at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47) at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29) at […]