log4j的:如何使用SocketAppender?(log4j: How to use Socke

2019-06-17 14:10发布

我有一个回答有关如何使用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

什么是最重要的:凡\我怎么能看到我的日志?

Answer 1:

您可以使用运行服务器

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

所述SimpleSocketServer接收记录在远程发送到指定的端口号的事件SocketAppender ,并记录它们,就像它们在本地生成 ,根据在提供的配置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

然后使发送方,你要改变它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在发送方-发生的事情在网络上是整个记录事件的对象,它的接收方是负责做布局。



Answer 2:

要启动服务器简单类型下面的命令在命令提示符,服务器将启动并运行:

java的-classpath C:Users.m2repositorylog4jlog4j1.2.17log4j-1.2.17.jar org.apache.log4j.net.SimpleSocketServer 4712个log4j-server.properties

请不要忘记指定在您的系统log4j.jar的正确路径。



文章来源: log4j: How to use SocketAppender?