У меня есть вопрос относительно места, где я должен сохранить свой logback файл. xml, чтобы моя программа могла его найти. Теперь я сохранил его в src / main / resources, но он не может его найти. Я знаю это, поскольку
String URL = "logback.xml";
System.out.println(ClassLoader.getSystemResource(URL));
возвращает null
.
Регистратор работает, но выводит всю информацию в командную строку
null
13:05:26.606 [main] DEBUG o.j.f.c.master.AbstractMaster - Number of columns: 18
13:05:26.613 [main] DEBUG o.j.f.c.master.AbstractMaster - Objective value: 479.0
13:05:26.666 [main] DEBUG o.j.f.c.master.AbstractMaster - Number of columns: 113
13:05:26.668 [main] DEBUG o.j.f.c.master.AbstractMaster - Objective value: 272.0
13:05:26.693 [main] DEBUG o.j.f.c.master.AbstractMaster - Number of columns: 118
13:05:26.694 [main] DEBUG o.j.f.c.master.AbstractMaster - Objective value: 238.0
13:05:26.721 [main] INFO o.j.f.c.master.AbstractMaster - Best objective value found: 238.0
13:05:26.721 [main] INFO o.j.f.c.master.AbstractMaster - (d1-s2-s2-d1) (s2-c1-s2) (s2-c3-c2-
s2);238.0 chosen with value: 1.0 resulting in cost: 238.0
Содержимое моего журнала. xml файл
<configuration scan="true" info="true">
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>myApp.log</file>
<append>false</append>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%msg%n</pattern>
</layout>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>
<logger name="algorithms.MultiLabel.cg.master" level="OFF"/>
<root level="debug"> <!-- levels: OFF, info, debug -->
<appender-ref ref="FILE" />
<appender-ref ref="STDOUT" />
</root>
</configuration>
Далее я внесите некоторые изменения в файл logback. xml и снова сохраните его в папке src / main / resources. Если я теперь снова запустил свою программу, я неожиданно получил следующий вывод:
file:./target/classes/logback.xml
13:06:41,631 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
13:06:41,631 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
13:06:41,632 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:./target/classes/logback.xml]
13:06:41,715 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
13:06:41,720 |-INFO in ReconfigureOnChangeFilter{invocationCounter=0} - Will scan for changes in [[.\target\classes\logback.xml]] every 60 seconds.
13:06:41,720 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Adding ReconfigureOnChangeFilter as a turbo filter
13:06:41,731 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.FileAppender]
13:06:41,733 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FILE]
13:06:41,783 |-WARN in ch.qos.logback.core.FileAppender[FILE] - This appender no longer admits a layout as a sub-component, set an encoder instead.
13:06:41,783 |-WARN in ch.qos.logback.core.FileAppender[FILE] - To ensure compatibility, wrapping your layout in LayoutWrappingEncoder.
13:06:41,783 |-WARN in ch.qos.logback.core.FileAppender[FILE] - See also http://logback.qos.ch/codes.html#layoutInsteadOfEncoder for details
13:06:41,783 |-INFO in ch.qos.logback.core.FileAppender[FILE] - File property is set to [myApp.log]
13:06:41,787 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
13:06:41,789 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
13:06:41,790 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
13:06:41,797 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [algorithms] to OFF
13:06:41,797 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
13:06:41,797 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE] to Logger[ROOT]
13:06:41,798 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]
13:06:41,798 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
13:06:41,800 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@36f6e879 - Registering current configuration as safe fallback point
Best objective value found: 238.0
(d1-s2-s2-d1) (s2-c1-s2) (s2-c3-c2-s2);238.0 chosen with value: 1.0 resulting in cost: 238.0
- Почему теперь он находит файл в папке ./target (где также находится папка sr c находится), хотя я не сохранил его там?
- Вся информация, которую он печатает, поступает из мастер-пакета, для которого я установил «ВЫКЛ», так почему же он все еще печатает его?
Я с нетерпением жду любые предложения / объяснения!