gpt4 book ai didi

java - 在集群环境中聚合 Jboss 日志的正确方法是什么?

转载 作者:行者123 更新时间:2023-11-30 11:06:13 25 4
gpt4 key购买 nike

我们使用带有两个节点的 Jboss 7.4.0,每个节点都有自己的滚动文件附加程序。我们想要做的是将这两个输出重定向到一个独特的文件中,在两个 Jboss 节点“外部”。我尝试将 SocketAppenders 与手动启动的 Log4J 服务器一起使用,但它不起作用...

<custom-handler name="SOCKET" class="org.apache.log4j.net.SocketAppender" module="org.apache.log4j">
<level name="DEBUG"/>
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p %X{user} %X{app} [%C:%M:%L] (%t) %s%E%n"/>
</formatter>
<properties>
<property name="Port" value="4712"/>
<property name="RemoteHost" value="127.0.0.1"/>
</properties>

log4j 服务器中唯一的东西是:

[2015-04-01 10:31:24,969] [main] [Listening on port 4712]
[2015-04-01 10:31:24,981] [main] [Waiting to accept a new client.]

我读到 Jboss 7+ 中不再存在 SocketAppender,但老实说,Jboss 文档不完整、缺失或充其量是不正确的。

那么,在不重新发明轮子的情况下,正确(或最佳)的方法是什么?我们应该使用异步滚动文件附加程序吗?还有其他选择吗?

最佳答案

按照这些步骤正确使用它,这可能会解决您的问题..

1>首先创建log4j-server.properties

log4j.rootLogger=DEBUG, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=logfile.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d] [%t] [%m]%n

2> 现在在接收方运行以下命令

java -classpath log4j.jar org.apache.log4j.net.SimpleSocketServer 4712 log4j-server.properties

现在它将监听端口 4712并将日志存储在 logfile.log 中您在 log4j-server.properties 中定义的文件

3>在log4j.xml文件中添加如下appender将日志发送到指定端口的服务器。

<custom-handler name="SOCKET"  class="org.apache.log4j.net.SocketAppender" module="org.apache.log4j">
<level name="DEBUG"/>
<properties>
<property name="Port" value="4712"/>
<property name="RemoteHost" value="127.0.0.1"/>
</properties>

不要在此配置中指定任何格式化程序。并且不要忘记添加 SOCKETroot-loggerlog4j.xml

关于java - 在集群环境中聚合 Jboss 日志的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29386736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com