问题标签 [log4j2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
12418 浏览

java - 在 log4j2 中按类名过滤

我正在使用 log4j2,但我不知道如何按类名过滤。我尝试过使用 RegexFilter,但它只过滤短信。在旧的 log4j 中,使用标签“过滤器”就足够了

有人知道现在该怎么做吗?

先感谢您!

更新:

好的,我做到了!我需要定义一个记录器并在属性'name'中设置类名:

0 投票
1 回答
868 浏览

java - 在 GAE 中使用 Log4j 2 的问题

我刚刚将所有 java.util.logging 代码迁移到我的 GAE/J 应用程序中的 log4j 但是我收到了这个错误:

有解决办法吗?

Log4j 的依赖是通过:

0 投票
0 回答
684 浏览

java - 配置 log4j 以忽略某些异常类

我们使用 Grails 和 Log4j Extras 来记录错误消息。

我需要从日志中过滤掉某些异常类 MyCustomException。

我怎样才能做到这一点?

0 投票
0 回答
1519 浏览

log4j - 骡记录 slf4j

Mule 3.3.x 文档 ( http://www.mulesoft.org/documentation/display/33X/Configuring+Logging ) 说 Mule 使用 slf4j 作为日志记录的外观。基于此,我希望能够从 mule\lib\boot 中删除 log4j-1.2.16.jar 并添加 log4j-api-2.0-beta7、log4j-core-2.0-beta7、log4j-slf4j-impl-2.0 -beta7 以利用 log4j 2.0。

当我这样做时,我得到一个异常,即找不到 org/apache/log4j/or/RendererMap。

进一步看,我在 Mule 安装的任何地方都找不到 slf4j-api.jar,我认为这是使用 slf4j 所必需的库。

Mule 文档是不正确的还是我需要做其他事情?

这是来自 Mule 的截断堆栈跟踪。出于某种原因,取消注释 wrapper.conf 中的“-Dmule.verbose.exceptions=true”选项并没有给我完整的堆栈跟踪。

0 投票
1 回答
892 浏览

java - 如何使用 log4j2 包装器 API

我在理解 log4j2 包装器的使用方面确实有些困难。

如果您点击此链接,您会发现附加了一个使用 AbstractLoggerWrapper 的示例。我刚刚复制了以下代码。

我不明白使用 AbstractLoggerWrapper 对 AbstractLogger 和实习生进行子类化的原因。我实际上可以从 Log4j2Logger 中删除扩展并封装 AbstractLoggerWrapper。您是否看到像上面截断的代码那样这样做的任何原因?

有没有办法对 AbstractLogger 进行子类化(如preferred)并在没有包装器的情况下使用它?并像策略模式一样创建它?例如,

也许这就是他们试图在扩展部分中解释的内容,但我还不明白。有人知道怎么做吗?

真诚的基督徒

更新:我错过了说,我使用包装器的原因是因为现有的带有包装器的 log4j (1.2) 项目。

0 投票
5 回答
14110 浏览

java - 如何在运行时使用 log4j2 api 将日志级别从 INFO 设置为 ERROR?

logger.setLevel()方法在 log4j2 API 中不可用。那么如何在运行时设置日志级别。

0 投票
1 回答
418 浏览

classpath - 无法将 netbeans 指向我的 log4j.xml 文件

我有一个 webbapp,我在其中使用 SLF4J 和 Log4j。一切正常,除了日志记录机制:当我尝试使用

我明白了 java.io.FileNotFoundException: C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.34\bin\log4j.xml (The system cannot find the file specified) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:120) at java.io.FileInputStream.<init>(FileInputStream.java:79) at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70) at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:651) at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:186) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:772) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:232) at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284) at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:208) at org.apache.log4j.xml.DOMConfigurator$1.parse(DOMConfigurator.java:749) at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:871) at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:755) at org.apache.log4j.xml.DOMConfigurator.configure(DOMConfigurator.java:896) at com.dataart.mediaportal.servlet.LoginServlet.service(LoginServlet.java:37) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662)

但是当我把 log4j.xml 文件放在 tomcat/bin 目录中时 - 一切都很完美。如何将我的 IDE 或项目(不知道究竟是什么错误)指向项目的根目录而不是 tomcat/bin?

我感谢每一个答案。谢谢。

0 投票
1 回答
2872 浏览

java - 为什么log4j2中有这么多罐子?

我们是一个基于 Web 的应用程序,我们在其中使用 Log4J 进行日志记录。我们使用的版本是log4j1.2.16

我们希望迁移到 Log4J2,因为我们目前还需要在我们的应用程序中引入一些异步日志记录。

下载 apache-log4j-2.0-beta7-bin 时发现其中有 31 个 jars。请告诉我为什么有这么多罐子,我们都需要吗?

0 投票
1 回答
930 浏览

java - log4j: how to set more packages logging into two file appenders, one with INFO threshold, the other with DEBUG threshold

I have two java app working together. I'm trying to configure my log4j.properties file to have two RollingFileAppender catching same packages but with different log levels. I want it.pack.subpack1, it.pack.subpack2, it.pack.subpack3 log to two different file appenders, one catching all at DEBUG and above, one catching all at INFO and above. I did the trick for appB but it doesn't work for appA. Why? My properties file looks like:

0 投票
1 回答
4837 浏览

java - 如何配置 log4j 按时间、大小和启动滚动?

我需要将记录器配置为按时间(每小时或每天)、大小和启动时滚动日志。我搜索了很多红色 log4j 文档,现在我很困惑。看起来可以通过以下方式完成:

  1. 使用西蒙库
  2. 创建自定义类
  3. 使用 log4j 2 测试版

我无法将新的第 3 方库添加到我的项目中(已经添加了 log4j 2 beta),所以我考虑了最后两个选项。如果我使用第二个选项,我应该创建哪些类?应该是 appender、rollingPolicy 还是 triggeringPolicy?

log4j2 真的会支持吗?

谢谢你的帮助,尤里