标签: log4j2

Java 泛型 - 需要对此 Log4j2 类的签名进行解释 - RollingFileAppender.Builder

有人可以解释一下这个类的签名的含义吗?

org.apache.logging.log4j.core.appender

Class RollingFileAppender.Builder<B extends RollingFileAppender.Builder<B>>

如文档所述 - Log4j2 apidocs

我把它读为Buildertype B,其中B extendsBuilder为 type B,这让我很困惑。

另外,这是一个static类,它也有一个构造函数。这是正常的吗?有人可以分享一个可以帮助我理解并在程序中使用它的参考吗?

PS - 关于我在这里所做的事情 - 我正在修改 log4j 代码以使其与 log4j2 兼容,其中在 util 类中有一个RollingFileAppender创建的 using构造函数。RollingFileAppender

java generics log4j2

1
推荐指数
1
解决办法
97
查看次数

将log4j2输出附加到TextArea

我正在log4j2中搜索一个简单的方法来将日志附加到textArea.

在log4j中,这可以通过扩展AppenderSkeleton类来实现,但我在log4j2中找不到类似的机制.

此外,使用重新路由系统输出

System.setOut(myPrintStream);
Run Code Online (Sandbox Code Playgroud)

也不起作用.

是否有可能使用log4j2?

java log4j2

0
推荐指数
1
解决办法
2307
查看次数

log4j2 logger.entry() 方法不打印日志消息

我正在使用 log4j2 框架,在每种方法中,我都试图通过在开始时调用 entry() 并在最后调用 exit() 来记录进入和退出,但这些方法没有打印任何日志信息。请任何人都可以帮助我我是这个框架的新手。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
  <Appenders>
    <Console target="SYSTEM_OUT" name="CONSOLE">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
    </Console>
  </Appenders>
  <Loggers>
    <Root level="error">
      <AppenderRef ref="Console" />
    </Root>
    <Root level="trace">
      <AppenderRef ref="CONSOLE" />
    </Root>
    <Root level="ERROR">
      <AppenderRef ref="CONSOLE" />
    </Root>
    <Root level="info">
      <AppenderRef ref="CONSOLE" />
    </Root>
    <Root level="debug">
      <AppenderRef ref="CONSOLE" />
    </Root>
  </Loggers>
</Configuration>
Run Code Online (Sandbox Code Playgroud)

java log4j2

0
推荐指数
1
解决办法
2928
查看次数

捕获log4j输出

我们log4j2在我们的系统中广泛使用,并使用它进行配置log4j2.xml.

现在我需要一个运行的新应用程序,jobs我想分别捕获在时间X和Y之间产生的所有日志并将其放入数据库中.从我们的框架正常记录应该像往常一样(到文件或log4j2.xml指向的地方),但从时间X到时间Y.

我还希望捕获所有日志记录,最好是一个字符串列表或可以保存在数据库表中的东西.

我的想法是创建一个新的Appender(捕获所有日志输出)并动态添加/删除该appender以启动和停止日志记录?那会有用吗?我也可以在框架类中重新配置记录器吗?

java logging log4j log4j2

0
推荐指数
1
解决办法
4240
查看次数

错误 StatusLogger 无日志记录配置

我正在使用 log4j2

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.5</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

和一个非常基本的配置xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
        </layout>
    </appender>
    <category name="org.apache.log4j.xml">
        <priority value="info" />
    </category>
    <Root>
        <priority value ="debug" />
        <appender-ref ref="STDOUT" />
    </Root>
</log4j:configuration>
Run Code Online (Sandbox Code Playgroud)

由于某种原因,日志记录不起作用。我正进入(状态

ERROR StatusLogger Error parsing /home/sfalk/workspace/java/lazy-model-access/lamoa-parent/lamoa-server/target/classes/log4j2.xml
ERROR StatusLogger No logging configuration
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?

log4j2

0
推荐指数
1
解决办法
2426
查看次数

Log4J 与 Tomcat 的集成 - catalina.out 日志文件轮换

我使用 log4j 版本 2 作为 Tomcat 8 的记录器,现在问题是 catalina.out 文件不是每天轮换。我的 log4j.property 文件如下,

log4j.rootLogger = INFO, CATALINA, CONSOLE

# Define all the appenders
log4j.appender.CATALINA = org.apache.log4j.DailyRollingFileAppender
log4j.appender.CATALINA.File = ${catalina.base}/logs/catalina
log4j.appender.CATALINA.Append = true
log4j.appender.CATALINA.Encoding = UTF-8
# Roll-over the log once per day
log4j.appender.CATALINA.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n

log4j.appender.LOCALHOST = org.apache.log4j.DailyRollingFileAppender
log4j.appender.LOCALHOST.File = ${catalina.base}/logs/localhost
log4j.appender.LOCALHOST.Append = true
log4j.appender.LOCALHOST.Encoding = UTF-8
log4j.appender.LOCALHOST.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayout
log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%n

log4j.appender.MANAGER …
Run Code Online (Sandbox Code Playgroud)

logging tomcat log4j log4j2 tomcat8

0
推荐指数
1
解决办法
9279
查看次数

在 NetBeans 中设置 Log4j2,基本配置

作为一个完整的初学者,我如何设置 Log4j2(在 Netbeans 中)以将一些消息记录到控制台,而将其他消息记录到文件中?(我只找到了旧版本的指南,这让我遇到了麻烦,因为 XML 发生了变化。基本上,我正在更新此线程中所做的工作,因为我认为这是一个好主意,但缺少一些提示)

java netbeans log4j2

0
推荐指数
1
解决办法
3535
查看次数

Log4j2 JSON布局:以UTC格式添加自定义日期字段

Log4j2支持JSON Layout,我在log4j2.xml中添加了一个额外的自定义字段:

<JsonLayout compact="true" eventEol="true" stacktraceAsString="true">
    <KeyValuePair key="@timestamp" value="$${date:yyyy-MM-dd'T'HH:mm:ss.SSS'Z'}"/>
</JsonLayout>
Run Code Online (Sandbox Code Playgroud)

一般情况下,所有工作正常,但此日志由Filebeats处理,并假定日期以UTC表示.

所有日志条目都具有本地时区的日期值.

是否有可能以UTC格式输出日期?

java log4j2

0
推荐指数
1
解决办法
1478
查看次数

Log4j2安全热点问题

这是配置 log4j2.xml 文件的代码。问题是声纳在 setConfiguration 处显示安全热点问题。如何避免呢?

String propFile = "log4j2.xml";

LoggerContext logcontext = (org.apache.logging.log4j.core.LoggerContext) 
LogManager.getContext(false);
File logFile = new File(propFile);

logcontext.setConfigLocation(logFile.toURI());
Run Code Online (Sandbox Code Playgroud)

java log4j2 sonarqube

0
推荐指数
1
解决办法
561
查看次数

如何修补 Log4j2 0-day 漏洞

我们正在将 Java 用于我们的一项服务,该服务使用 log4j2 库。截至 2021 年 12 月 10 日,发现利用 log4j2 执行 Java 远程代码的漏洞。我想知道解决这个问题的最佳方法是什么?是否适合只使用另一个 Java 日志库?或者是否有 log4j2 的配置,以便我们\xe2\x80\x99 不必经历更改日志库的所有麻烦?

\n

java log4j log4j2

-1
推荐指数
1
解决办法
804
查看次数

如何在maven项目中识别log4j2或log4j?

我们正在使用 Maven 项目,需要检查我们在 java 应用程序中使用的是 log4j 或 log4j2。请指导我下面的最佳实践
是我的 pom.xml

<properties>
    <!-- Avoid warnings about platform encoding -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    
    <powermock.version>1.6.2</powermock.version>
    <log4j.version>2.3</log4j.version>
</properties><dependencies>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>${log4j.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>${log4j.version}</version>
    </dependency><dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-1.2-api</artifactId>
        <version>${log4j.version}</version>
    </dependency>
    </project>
Run Code Online (Sandbox Code Playgroud)

java pom.xml maven log4j2

-2
推荐指数
1
解决办法
6922
查看次数

标签 统计

log4j2 ×11

java ×9

log4j ×3

logging ×2

generics ×1

maven ×1

netbeans ×1

pom.xml ×1

sonarqube ×1

tomcat ×1

tomcat8 ×1