代码之家  ›  专栏  ›  技术社区  ›  Adrian

如何停止节点记录节点.conf启动期间

  •  0
  • Adrian  · 技术社区  · 6 年前

    我知道我们可以在节点.conf是在信息级别上打印的,但是我想尽量避免这样,因为我仍然希望打印出一些其他信息级别的信息。

    2 回复  |  直到 6 年前
        1
  •  0
  •   Joel    6 年前

    内容 node.conf 打印于 INFO 水平的 net.corda.node.services.config.ConfigHelper 班级。防止 节点.conf net.corda.node节点.services.config.ConfigHelper 类,仅在 WARN 或以上应打印到日志上。

    为您的节点提供定制Log4J2日志配置文件的过程是有文档记录的 here . 你需要:

    • test.xml
    • java -Dlog4j.configurationFile=test.xml -jar corda.jar )

    下面是一个例子 测试.xml 防止

    <?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 (例如 节点.conf )仅当它们处于水平位置时才应打印 或以上。

        2
  •  0
  •   Arsalan Khalid    5 年前

    @Joel有没有办法将所有节点指向一个自定义日志文件?即,执行时运行节点.jar,能否将单个日志文件作为参数传递,即:

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