【问题标题】:How to configure port in Apache Chainsaw with Log4j2如何使用 Log4j2 在 Apache Chainsaw 中配置端口
【发布时间】:2016-03-03 22:13:53
【问题描述】:

我得到了生成日志文件的 log4j2.xml。这是配置:

<Configuration status="INFO" advertiser="multicastdns">
    <Properties>
        <Property name="layout">%d | %-5p | [%t] | %c{2} | %M | %m%n
        </Property>
    </Properties>
    <Appenders>
        <RollingFile name="LogFile" fileName="${sys:user.home}/logs/webapp.log"
            filePattern="${sys:user.home}/logs/webapp-%d{yyyy-MM-dd}-%i.log"
            bufferedIO="false" advertiseURI="file:///C://users/bilguuna/logs/webapp.log"
            advertise="true">
            <PatternLayout pattern="${layout}" />
            <Policies>
                <TimeBasedTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="1 MB" />
            </Policies>
            <DefaultRolloverStrategy max="10" />
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="INFO">
            <AppenderRef ref="LogFile" level="INFO" />
        </Root>
    </Loggers>
</Configuration>

我可以使用

查看日志文件

file:///C://users/bilguuna/logs/webapp.log

在浏览器上。

一个问题是在 ZeroConf 选项卡上,我的附加程序“LogFile”出现了连接状态“已连接”。但是当我双击该行时,它只是更改为断开/连接。当我检查电锯日志时。它说连接被拒绝,如下图所示:

我猜这是因为 Chainsaw 选择了 4555 作为我的机器上未打开的默认端口。那么应该选择什么端口以及如何在我的log4j2.xml文件中设置呢?

谢谢

更新:在我按照@Scott 的建议使用开发人员快照版本后,“连接被拒绝”问题似乎消失了。但我仍然看不到日志。当我单击 ZeroConf 选项卡上的条目时,它仍将连接状态更改为已连接/未连接。这是来自电锯日志选项卡的日志:

再次,当我在 ZeroConf 选项卡上双击条目时,我应该看到实际的日志吗? 更新:我的控制台出现以下异常:

 WARNING: SocketListener(WS00943.local.).run() exception 
java.io.IOException: DNSIncoming corrupted message
    at javax.jmdns.impl.DNSIncoming.<init>(DNSIncoming.java:239)
    at javax.jmdns.impl.SocketListener.run(SocketListener.java:50)
Caused by: java.lang.IllegalStateException: Can't overwrite cause with java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [javax.jmdns.impl.constants.DNSResultCode]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
    at java.lang.Throwable.initCause(Unknown Source)
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1344)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1206)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
    at javax.jmdns.impl.DNSIncoming.readAnswer(DNSIncoming.java:342)
    at javax.jmdns.impl.DNSIncoming.<init>(DNSIncoming.java:229)
    ... 1 more
Caused by: java.lang.ClassNotFoundException
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1343)
    ... 5 more

【问题讨论】:

    标签: log4j2 apache-chainsaw


    【解决方案1】:

    问题是您需要使用最新的 Chainsaw 开发人员快照才能使用 log4j2。 webstart-runnable 版本仅适用于 log4j1。

    开发者快照位于:http://home.apache.org/~sdeboy/

    【讨论】:

    • 谢谢 Scott,我已经使用了开发人员快照,但仍然没有运气。我已经更新了我的问题。如果您从更新的问题中看到图像。 WS00943是我机器的本地域,smdi.com是网络的域,10.20.91.29是我机器的IP地址。它似乎正在尝试连接到 WS00943.smdi.com/10.20.91.29:4555。应该是这样吗?
    猜你喜欢
    • 1970-01-01
    • 2018-08-24
    • 2015-08-22
    • 1970-01-01
    • 2016-09-30
    • 2021-04-08
    • 1970-01-01
    • 2020-09-16
    • 2015-07-29
    相关资源
    最近更新 更多