У меня есть log4j2.xml, который генерирует файлы журналов. Вот конфиг:Как настроить порт в Apache Chainsaw с Log4j2
<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>
Я в состоянии увидеть файл журнала с помощью
файла: /// C: //users/bilguuna/logs/webapp.log
в браузере.
Проблема заключается в том, что на вкладке ZeroConf появился мой appender LogFile с состоянием подключения «Подключено». Но когда я дважды нажимаю на эту строку, она просто изменяется на отсоединенную/подключенную. Когда я проверяю журнал бензопилы. Он сказал, что Connection отказался от изображения ниже:
Я предполагаю, что из-за этого Chainsaw выбирает 4555 как порт по умолчанию, который не открыт на моей машине. Итак, какой порт должен выбрать и как установить его в моем файле log4j2.xml?
Благодаря
UPDATE: После того, как я использовал версию снимки разработчиков, как предложил @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
Спасибо Скотт, я использовал снимок разработчика, но все еще не повезло. Я обновил свой вопрос. Если вы видите изображение из обновленного вопроса. WS00943 является локальным доменом моей машины, smdi.com является доменом сети, 10.20.91.29 - это IP-адрес моей машины. Похоже, он пытается подключиться к WS00943.smdi.com/10.20.91.29:4555. Так оно и должно быть? – Bilguun