У меня проблема с моим Dropwizard (версия 1.3.8) приложение регистрирует HTTP-запросы в файл. Я следил за Dropwizard документация для настройки файла YAML и моего config.yml
выглядит так:
logging:
level: INFO
loggers:
com.nikolas.master_thesis: DEBUG
appenders:
- type: file
currentLogFilename: /home/nikola/Documents/DWApp-LOGs/DW-Bookshop_LOG.log
threshold: ALL
queueSize: 512
archive: true
archivedLogFilenamePattern: /home/nikola/Documents/DWApp-LOGs/DW-Bookshop_LOG-%d.log
archivedFileCount: 5
timeZone: UTC
logFormat: "%-5p [%d{ISO8601,UTC}] %c: %m%n%rEx"
# logFormat: "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
# logFormat: “%h %l %u %t “%r“ %s %b “%{Referer}i“ “%{User-Agent}i““ combined
# logFormat: '%h %l %u %t '%r' %\\>s %b '%{Referer}i' '%{User-Agent}i''
# logFormat: "%d{HH:mm:ss.SSS} [%thread] %-5level %com.nikolas.master_thesis.examples.`config-kt`.logger{36} - %msg%n"
# logFormat: “%h %l %u %t “%r“ %s %b “%{Referer}i“ “%{User-Agent}i““
# logFormat: "%h %l %u %t \"%r\" %s %O \"%{Referer}i\""
# logFormat: “%h %l %u %t “%r“ %\\>s %b “%{Referer}i“ “%{User-Agent}i““
# logFormat: "%h %l %u %t \"%r\" \"%>s\" %O \"%{Referer}i\""
# logFormat: "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
# logFormat: combined
# logFormat: "%h %l %u %t \"%r\" %>s %b" /etc/httpd
# logFormat: “%h %l %u %t “%r” %s %b “%{User-Agent}i””
# logFormat: "%h %l %u %t \"%r\" %>s %b" /etc/httpd
# logFormat: "%h %l %u %t \"%r\" %>s %b"
# logFormat: "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
bufferSize: 8KB
immediateFlush: true
# filterFactories:
# - type: URI
- type: console
threshold: ALL
queueSize: 512
discardingThreshold: 0
timeZone: UTC
target: stdout
logFormat: "%-5p [%d{ISO8601,UTC}] %c: %m%n%rEx"
Дело в том, что HTTP-запрос регистрируется в консоли следующим образом:
192.168.1.5 - - [09/Aug/2020:10:08:05 +0000] "GET /api/orders HTTP/1.1" 200 14094 "-" "Apache-HttpClient/4.5.10 (Java/1.8.0_161)" 710
... и я хочу записать его также в файл, но он вообще НЕ регистрирует его! Я пытался использовать прокомментированные logFormat
s, но я получаю ошибку для каждого из прокомментированных logFormat
ценности. Например. для logFormat: "%h %l %u %t \"%r\" %>s %b"
когда я запускаю его в терминале (я использую Параметры RMI для сбора образцов JMX с удаленного компьютера):
java -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=1616 -Dcom.sun.management.jmxremote.rmi.port=1616 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar ./target/DW-Bookshop-1.0-SNAPSHOT.jar server config.yml
... Я получаю NumberFormatException:
java.lang.NumberFormatException: For input string: ">"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
at ch.qos.logback.core.pattern.FormatInfo.valueOf(FormatInfo.java:73)
at ch.qos.logback.core.pattern.parser.Parser.T(Parser.java:136)
at ch.qos.logback.core.pattern.parser.Parser.E(Parser.java:96)
at ch.qos.logback.core.pattern.parser.Parser.Eopt(Parser.java:115)
at ch.qos.logback.core.pattern.parser.Parser.E(Parser.java:100)
at ch.qos.logback.core.pattern.parser.Parser.Eopt(Parser.java:115)
at ch.qos.logback.core.pattern.parser.Parser.E(Parser.java:100)
at ch.qos.logback.core.pattern.parser.Parser.Eopt(Parser.java:115)
at ch.qos.logback.core.pattern.parser.Parser.E(Parser.java:100)
at ch.qos.logback.core.pattern.parser.Parser.Eopt(Parser.java:115)
at ch.qos.logback.core.pattern.parser.Parser.E(Parser.java:100)
at ch.qos.logback.core.pattern.parser.Parser.Eopt(Parser.java:115)
at ch.qos.logback.core.pattern.parser.Parser.E(Parser.java:100)
at ch.qos.logback.core.pattern.parser.Parser.Eopt(Parser.java:115)
at ch.qos.logback.core.pattern.parser.Parser.E(Parser.java:100)
at ch.qos.logback.core.pattern.parser.Parser.Eopt(Parser.java:115)
at ch.qos.logback.core.pattern.parser.Parser.E(Parser.java:100)
at ch.qos.logback.core.pattern.parser.Parser.Eopt(Parser.java:115)
at ch.qos.logback.core.pattern.parser.Parser.E(Parser.java:100)
at ch.qos.logback.core.pattern.parser.Parser.Eopt(Parser.java:115)
at ch.qos.logback.core.pattern.parser.Parser.E(Parser.java:100)
at ch.qos.logback.core.pattern.parser.Parser.Eopt(Parser.java:115)
at ch.qos.logback.core.pattern.parser.Parser.E(Parser.java:100)
at ch.qos.logback.core.pattern.parser.Parser.parse(Parser.java:91)
at ch.qos.logback.core.pattern.PatternLayoutBase.start(PatternLayoutBase.java:83)
at io.dropwizard.logging.AbstractAppenderFactory.buildLayout(AbstractAppenderFactory.java:243)
at io.dropwizard.logging.AbstractOutputStreamAppenderFactory.build(AbstractOutputStreamAppenderFactory.java:25)
at io.dropwizard.logging.DefaultLoggingFactory.configure(DefaultLoggingFactory.java:143)
at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:83)
at io.dropwizard.cli.Cli.run(Cli.java:78)
at io.dropwizard.Application.run(Application.java:93)
at com.nikolas.master_thesis.DropwizardMasterThesisApplication.main(DropwizardMasterThesisApplication.java:35)
Кстати, я бегу ОС Fedora 31 и я использую Java 8. Любой совет / помощь приветствуются.