У меня есть logback.xml вне моего упакованного .WAR, что я должен использовать для INFO & ERROR конфигурации каротажа - и никаких изменений не могут быть сделаны к нему. [отредактировал: возможно, будет возможно добавить или что-то подобное минимальное]
Цель Я бы хотел настроить регистрацию отладки таким образом, чтобы каждый модуль имел свой собственный .log-файл и т. д. t добавьте эту конфигурацию в существующий файл logback.xml, как указано выше. [edit in] Кроме того, мне нужен способ включения отладки только для конкретного модуля - возможно, через «мой» добавленный logback.xmlЕсть ли способ настроить logback из двух отдельных файлов logback.xml на уровень журнала?
Как получить логин для чтения только конфигурации отладки из другого XML-файла?
Edited добавить файлы примеров:
главная/ака неизменна logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<property scope="system" name="component-name" value="COMPONENT_A" />
<property file="$configuration.yaml" />
<property scope="context" name="enable-all-log" value="false" />
<property name="default-log-pattern"
value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{uuid}|%X{instanceID}|%thread||%X{userId}|%level />
<!-- All log -->
<if condition='property("enable-all-log").equalsIgnoreCase("true")'>
<then>
<appender name="ALL_ROLLING"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.home}/${component-name}/${subcomponent-name}/all.log
</file>
<rollingPolicy
class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${log.home}/${component-name}/${subcomponent-name}/all.log.%i
</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
</rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>20MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>${default-log-pattern}</pattern>
</encoder>
</appender>
<appender name="ASYNC_ALL" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="ALL_ROLLING" />
</appender>
</then>
</if>
<!-- Error log -->
<appender name="ERROR_ROLLING"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.home}/${component-name}/${subcomponent-name}/error.log
</file>
<!-- Audit messages filter - deny audit messages -->
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
<marker>AUDIT_MARKER</marker>
</evaluator>
<onMismatch>NEUTRAL</onMismatch>
<onMatch>DENY</onMatch>
</filter>
<!-- Debug log -->
<appender name="DEBUG_ROLLING"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.home}/${component-name}/${subcomponent-name}/debug.log
</file>
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator class="ch.qos.logback.classic.boolex.OnMarkerEvaluator">
<marker>TRANSACTION_MARKER</marker>
</evaluator>
<onMismatch>NEUTRAL</onMismatch>
<onMatch>DENY</onMatch>
</filter>
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator class="ch.qos.logback.classic.boolex.GEventEvaluator">
<expression>
e.level.toInt() <= DEBUG.toInt()
</expression>
</evaluator>
<OnMismatch>DENY</OnMismatch>
<OnMatch>NEUTRAL</OnMatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${log.home}/${component-name}/${subcomponent-name}/debug.log.%i
</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
</rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>20MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>${default-log-pattern}</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="ASYNC_ERROR" />
<appender-ref ref="ASYNC_DEBUG" />
<if condition='property("enable-all-log").equalsIgnoreCase("true")'>
<then>
<appender-ref ref="ALL_ROLLING" />
</then>
</if>
</root>
<logger name="foo.bar" level="INFO" />
Что вы имеете в виду * никакие изменения не могут быть сделаны к нему whatsover *? – NewUser
Вы попробовали * include * files? – Jobin
@NewUser Я имею в виду, что он не может быть изменен, потому что он принадлежит к другой группе (введите здесь неактуальную политику), а для INFO + ERROR их конфигурация просто прекрасна. Дело в том, что они внедрили ведение журнала отладки таким образом, что мы не хотим следовать, и я не могу добавить конфигурацию регистраторов DEBUG в существующий logback.xml – akapulko2020