Как остановить узел от регистрации node.conf во время запуска - PullRequest
0 голосов
/ 13 сентября 2018

Как мне остановить узел от печати node.conf в логах?

Я понимаю, что мы можем изменить уровень ведения журнала, поскольку файл node.conf печатается на уровне INFO, но я хочу, насколько это возможно, избегать этого, поскольку я все еще хочу, чтобы распечатывалась другая информация, находящаяся на уровне INFO.

Ответы [ 2 ]

0 голосов
/ 21 марта 2019

@ Джоэл, есть ли способ указать всем узлам один файл журнала?То есть, при выполнении runnodes.jar, вы могли бы передать один лог-файл в качестве параметра, то есть:

java -jar -Dlog4j.configurationFile=/Users/username/Desktop/Prototype/config/dev/log4j2.xml runnodes.jar

Это не работает ... так любопытно.

0 голосов
/ 18 сентября 2018

Содержимое node.conf печатается на уровне INFO классом net.corda.node.services.config.ConfigHelper. Чтобы предотвратить печать содержимого node.conf в журналы, вам необходимо указать настраиваемую конфигурацию ведения журнала, чтобы для класса net.corda.node.services.config.ConfigHelper в журналы печатались только сообщения с номером WARN или выше.

Процесс предоставления пользовательского файла конфигурации ведения журнала Log4J2 для вашего узла задокументирован здесь . Вам необходимо:

  • Создание пользовательского файла журнала (например, test.xml)
  • При запуске узла укажите свой узел на файл пользовательского журнала (например, java -Dlog4j.configurationFile=test.xml -jar corda.jar)

Вот пример test.xml, который предотвращает печать содержимого node.conf в журналах:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
    <Properties>
        <Property name="log-path">logs</Property>
        <Property name="log-name">node-${hostName}</Property>
        <Property name="archive">${log-path}/archive</Property>
    </Properties>

    <Appenders>
        <Console name="Console-Appender" target="SYSTEM_OUT">
            <PatternLayout pattern="%highlight{%level{length=1} %d{HH:mm:ss} %T %c{1}.%M - %msg%n}{INFO=white,WARN=red,FATAL=bright red blink}"/>
        </Console>

        <RollingFile name="RollingFile-Appender"
                 fileName="${log-path}/${log-name}.log"
                 filePattern="${archive}/${log-name}.%d{yyyy-MM-dd}-%i.log.gz">

            <PatternLayout pattern="[%-5level] %d{ISO8601}{GMT+0} [%t] %c{1} - %msg%n"/>

            <Policies>
                <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="10MB"/>
            </Policies>

            <DefaultRolloverStrategy min="1" max="10">
                <Delete basePath="${archive}" maxDepth="1">
                    <IfFileName glob="${log-name}*.log.gz"/>
                    <IfLastModified age="60d">
                        <IfAny>
                            <IfAccumulatedFileSize exceeds="10 GB"/>
                        </IfAny>
                    </IfLastModified>
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>
    </Appenders>

    <Loggers>
        <Root level="error">
            <AppenderRef ref="Console-Appender"/>
            <AppenderRef ref="RollingFile-Appender"/>
        </Root>
        <Logger name="net.corda" level="error" additivity="false">
            <AppenderRef ref="Console-Appender"/>
            <AppenderRef ref="RollingFile-Appender"/>
        </Logger>
        <Logger name="net.corda.node.services.config.ConfigHelper" level="warn" additivity="false">
            <AppenderRef ref="RollingFile-Appender"/>
        </Logger>
    </Loggers>
</Configuration>

Обратите внимание на последний Logger блок. Мы указываем, что любые сообщения от net.corda.node.services.config.ConfigHelper (например, содержимое node.conf) должны быть напечатаны, только если они находятся на уровне WARN или выше.

...