log4j.properties应该如何?

问题描述 投票:0回答:2

经过讨论here我仍然无法配置我的程序/电锯

当我启动ChainSaw时,我选择了

  • 让我在端口4445上使用一个简单的接收器

在我的程序中我设置配置:

PropertyConfigurator.configure("log4j.properties");

最后运行程序,然后单击Chainsaw中的Simple Receiver

log4j.properties version1

log4j.rootLogger=DEBUG, server

log4j.appender.server=org.apache.log4j.net.SocketAppender
log4j.appender.server.Port=4445
log4j.appender.server.RemoteHost=localhost
log4j.appender.server.ReconnectionDelay=10000

log4j.properties version2

log4j.rootCategory=DEBUG, zeroconf, chainsaw
# Socket Appender
log4j.appender.chainsaw=org.apache.log4j.net.SocketAppender
log4j.appender.chainsaw.remoteHost=localhost
log4j.appender.chainsaw.port=4445
log4j.appender.chainsaw.locationInfo=true

他们都没有工作。我该怎么办?

java log4j log-viewer
2个回答
1
投票

尝试:

log4j.threshold=ALL
log4j.debug = true
log4j.rootLogger=DEBUG, chainsaw
# Socket Appender
log4j.appender.chainsaw=org.apache.log4j.net.SocketAppender
log4j.appender.chainsaw.RemoteHost=localhost
log4j.appender.chainsaw.Port=4445
log4j.appender.chainsaw.LocationInfo=true

这是电锯配置的一个很好的例子,这也是必需的:

http://magnus-k-karlsson.blogspot.com/2010/02/viewingmonitoring-your-log4j-generated.html


0
投票

从版本2.4开始,Log4j现在支持通过属性文件进行配置。请注意,属性语法与Log4j 1中使用的语法不同。

appender.server.type=Socket
appender.server.name=server
appender.server.port=4445
appender.server.host=localhost
appender.server.reconnectDelayMillis=10000

...

rootLogger.appenderRef.server.ref = server

你可能有reconnectionDelayMillis的问题。在logging-log4j-dev mailing list archives,我发现:

文档(https://logging.apache.org/log4j/2.x/manual/appenders.html#SyslogAppender)仍然将参数列为“reconnectionDelayMillis”,但代码现在显然正在寻找“reconnectDelayMillis”。我要更改我的配置以使用新名称,但我想我会指出断开连接,因为它让我感到困惑。谢谢 - 山姆

这可能已经修复/统一,但我没有在较新版本的log4j中检查过。如果您遇到任何问题,请尝试使用reconnectDelayMillis

更详细的例子可以在Configuration with Properties下找到。

© www.soinside.com 2019 - 2024. All rights reserved.