gpt4 book ai didi

java - log4j:如何使用 SocketAppender?

转载 作者:IT老高 更新时间:2023-10-28 20:50:22 25 4
gpt4 key购买 nike

我有一个 answer关于如何使用 SocketAppender(我需要它从分布式系统收集日志),但我是 log4j 的新手,我不知道如何使用该示例代码。

也许我应该有这样的 log4j-server.properties:

log4j.appender.SERVER=org.apache.log4j.net.SocketAppender
log4j.appender.SA.Port=4712
log4j.appender.SA.RemoteHost=loghost
log4j.appender.SA.ReconnectionDelay=10000

但是我还是不知道怎么启动服务器(这行怎么用)

org.apache.log4j.net.SimpleSocketServer 4712 log4j-server.properties

什么是最重要的:在哪里\如何查看我的日志?

最佳答案

您可以使用运行服务器

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

SimpleSocketServer接收远程SocketAppender发送到指定端口号的日志事件,并像在本地生成一样,根据您在 log4j-server.properties 中提供的配置。您可以配置相关的控制台/文件/滚动文件附加程序并将它们附加到相关的记录器,就像您直接在原始进程中进行日志记录而不是通过网络套接字传输日志事件一样。 IE。如果您当前正在使用以下内容创建本地日志文件:

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

然后你会改变它,以便发送方 log4j.properties 简单地说

log4j.rootLogger=DEBUG, server
log4j.appender.server=org.apache.log4j.net.SocketAppender
log4j.appender.server.Port=4712
log4j.appender.server.RemoteHost=loghost
log4j.appender.server.ReconnectionDelay=10000

而服务器端 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

特别注意,在发送端的 SocketAppender 上指定布局是没有意义的 - 通过网络传输的是整个日志事件对象,接收端负责执行布局。

关于java - log4j:如何使用 SocketAppender?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11759196/

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