Apache NiFi将所有日志重定向到stdout

问题描述 投票:0回答:2

我一直在尝试将所有Apache NiFi日志重定向到stdout,将新的STDOUT appender配置到其./conf/logback.xml中。

That looks like this:

<configuration scan="true" scanPeriod="30 seconds">
    <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
        <resetJUL>true</resetJUL>
    </contextListener>

    <appender name="STDOUT" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="APP_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${org.apache.nifi.bootstrap.config.log.dir}/nifi-app.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">

            <fileNamePattern>${org.apache.nifi.bootstrap.config.log.dir}/nifi-app_%d{yyyy-MM-dd_HH}.%i.log</fileNamePattern>
            <maxFileSize>100MB</maxFileSize>
            <!-- keep 30 log files worth of history -->
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <immediateFlush>true</immediateFlush>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="USER_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${org.apache.nifi.bootstrap.config.log.dir}/nifi-user.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                        <fileNamePattern>${org.apache.nifi.bootstrap.config.log.dir}/nifi-user_%d.log</fileNamePattern>
            <!-- keep 30 log files worth of history -->
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="BOOTSTRAP_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${org.apache.nifi.bootstrap.config.log.dir}/nifi-bootstrap.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--
              For daily rollover, use 'user_%d.log'.
              For hourly rollover, use 'user_%d{yyyy-MM-dd_HH}.log'.
              To GZIP rolled files, replace '.log' with '.log.gz'.
              To ZIP rolled files, replace '.log' with '.log.zip'.
            -->
            <fileNamePattern>${org.apache.nifi.bootstrap.config.log.dir}/nifi-bootstrap_%d.log</fileNamePattern>
            <!-- keep 5 log files worth of history -->
            <maxHistory>5</maxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
        </encoder>
    </appender>

    <!-- valid logging levels: TRACE, DEBUG, INFO, WARN, ERROR -->

    <logger name="org.apache.nifi" level="INFO"/>
    <logger name="org.apache.nifi.processors" level="WARN"/>
    <logger name="org.apache.nifi.processors.standard.LogAttribute" level="INFO"/>
    <logger name="org.apache.nifi.processors.standard.LogMessage" level="INFO"/>
    <logger name="org.apache.nifi.controller.repository.StandardProcessSession" level="WARN" />


    <logger name="org.apache.zookeeper.ClientCnxn" level="ERROR" />
    <logger name="org.apache.zookeeper.server.NIOServerCnxn" level="ERROR" />
    <logger name="org.apache.zookeeper.server.NIOServerCnxnFactory" level="ERROR" />
    <logger name="org.apache.zookeeper.server.quorum" level="ERROR" />
    <logger name="org.apache.zookeeper.ZooKeeper" level="ERROR" />
    <logger name="org.apache.zookeeper.server.PrepRequestProcessor" level="ERROR" />

    <logger name="org.apache.calcite.runtime.CalciteException" level="OFF" />

    <logger name="org.apache.curator.framework.recipes.leader.LeaderSelector" level="OFF" />
    <logger name="org.apache.curator.ConnectionState" level="OFF" />

    <!-- Logger for managing logging statements for nifi clusters. -->
    <logger name="org.apache.nifi.cluster" level="INFO"/>

    <!-- Logger for logging HTTP requests received by the web server. -->
    <logger name="org.apache.nifi.server.JettyServer" level="INFO"/>

    <!-- Logger for managing logging statements for jetty -->
    <logger name="org.eclipse.jetty" level="INFO"/>

    <!-- Suppress non-error messages due to excessive logging by class or library -->
    <logger name="com.sun.jersey.spi.container.servlet.WebComponent" level="ERROR"/>
    <logger name="com.sun.jersey.spi.spring" level="ERROR"/>
    <logger name="org.springframework" level="ERROR"/>

    <!-- Suppress non-error messages due to known warning about redundant path annotation (NIFI-574) -->
    <logger name="com.sun.jersey.spi.inject.Errors" level="ERROR"/>

    <!--
        Logger for capturing user events. We do not want to propagate these
        log events to the root logger. These messages are only sent to the
        user-log appender.
    -->
    <logger name="org.apache.nifi.web.security" level="INFO" additivity="false">
        <appender-ref ref="USER_FILE"/>
    </logger>
    <logger name="org.apache.nifi.web.api.config" level="INFO" additivity="false">
        <appender-ref ref="USER_FILE"/>
    </logger>
    <logger name="org.apache.nifi.authorization" level="INFO" additivity="false">
        <appender-ref ref="USER_FILE"/>
    </logger>
    <logger name="org.apache.nifi.cluster.authorization" level="INFO" additivity="false">
        <appender-ref ref="USER_FILE"/>
    </logger>
    <logger name="org.apache.nifi.web.filter.RequestLogger" level="INFO" additivity="false">
        <appender-ref ref="USER_FILE"/>
    </logger>


    <!--
        Logger for capturing Bootstrap logs and NiFi's standard error and standard out. 
    -->
    <logger name="org.apache.nifi.bootstrap" level="INFO" additivity="false">
        <appender-ref ref="BOOTSTRAP_FILE" />
    </logger>
    <logger name="org.apache.nifi.bootstrap.Command" level="INFO" additivity="false">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="BOOTSTRAP_FILE" />
    </logger>

    <!-- Everything written to NiFi's Standard Out will be logged with the logger org.apache.nifi.StdOut at INFO level -->
    <logger name="org.apache.nifi.StdOut" level="INFO" additivity="false">
        <appender-ref ref="BOOTSTRAP_FILE" />
    </logger>

    <!-- Everything written to NiFi's Standard Error will be logged with the logger org.apache.nifi.StdErr at ERROR level -->
    <logger name="org.apache.nifi.StdErr" level="ERROR" additivity="false">
        <appender-ref ref="BOOTSTRAP_FILE" />
    </logger>


    <root level="INFO">
        <appender-ref ref="APP_FILE"/>
        <appender-ref ref="STDOUT"/>
    </root>

</configuration>

到目前为止的结果并不是我的预期。它不断打印它的引导程序和其他一些日志记录:

14:27:51,395 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
14:27:51,395 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
14:27:51,396 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/C:/nifi-1.4.0/conf/logback.xml]
14:27:51,465 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
14:27:51,472 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Will scan for changes in [file:/C:/nifi-1.4.0/conf/logback.xml]
14:27:51,472 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - Setting ReconfigureOnChangeTask scanning period to 30 seconds
14:27:51,474 |-INFO in ch.qos.logback.classic.joran.action.LoggerContextListenerAction - Adding LoggerContextListener of type [ch.qos.logback.classic.jul.LevelChangePropagator] to the object stack
14:27:51,485 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@58ceff1 - Propagating DEBUG level on Logger[ROOT] onto the JUL framework
14:27:51,485 |-INFO in ch.qos.logback.classic.joran.action.LoggerContextListenerAction - Starting LoggerContextListener
14:27:51,485 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
14:27:51,489 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
14:27:51,545 |-WARN in ch.qos.logback.core.rolling.RollingFileAppender[STDOUT] - No TriggeringPolicy was set for the RollingFileAppender named STDOUT
14:27:51,545 |-WARN in ch.qos.logback.core.rolling.RollingFileAppender[STDOUT] - For more information, please visit http://logback.qos.ch/codes.html#rfa_no_tp
14:27:51,545 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
14:27:51,545 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [APP_FILE]
14:27:51,552 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@2083562754 - Archive files will be limited to [100 MB] each.
14:27:51,554 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@2083562754 - No compression will be used
14:27:51,555 |-INFO in c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy@2083562754 - Will use the pattern C:/NIFI-1~1.0/bin/..//logs/nifi-app_%d{yyyy-MM-dd_HH}.%i.log for the active file
14:27:51,557 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@49e4cb85 - The date pattern is 'yyyy-MM-dd_HH' from file name pattern 'C:/NIFI-1~1.0/bin/..//logs/nifi-app_%d{yyyy-MM-dd_HH}.%i.log'.
14:27:51,557 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@49e4cb85 - Roll-over at the top of every hour.
14:27:51,559 |-INFO in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@49e4cb85 - Setting initial period to Tue Feb 20 12:14:09 BRT 2018
14:27:51,563 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[APP_FILE] - Active log file name: C:\NIFI-1~1.0\bin\..\\logs/nifi-app.log
14:27:51,563 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[APP_FILE] - File property is set to [C:\NIFI-1~1.0\bin\..\\logs/nifi-app.log]
14:27:51,564 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
14:27:51,564 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [USER_FILE]
14:27:51,565 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@557041912 - No compression will be used
14:27:51,565 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@557041912 - Will use the pattern C:/NIFI-1~1.0/bin/..//logs/nifi-user_%d.log for the active file
14:27:51,566 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - The date pattern is 'yyyy-MM-dd' from file name pattern 'C:/NIFI-1~1.0/bin/..//logs/nifi-user_%d.log'.
14:27:51,566 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Roll-over at midnight.
14:27:51,566 |-INFO in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Setting initial period to Tue Feb 20 11:38:18 BRT 2018
14:27:51,567 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[USER_FILE] - Active log file name: C:\NIFI-1~1.0\bin\..\\logs/nifi-user.log
14:27:51,567 |-INFO in ch.qos.logback.core.rolling.RollingFileAppender[USER_FILE] - File property is set to [C:\NIFI-1~1.0\bin\..\\logs/nifi-user.log]
14:27:51,568 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.rolling.RollingFileAppender]
14:27:51,568 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [BOOTSTRAP_FILE]
14:27:51,568 |-INFO in c.q.l.core.rolling.TimeBasedRollingPolicy@1134712904 
14:27:51,577 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@58ceff1 - Propagating INFO level on Logger[org.apache.nifi.server.JettyServer] onto the JUL framework
14:27:51,577 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.eclipse.jetty] to INFO
14:27:51,577 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@58ceff1 - Propagating INFO level on Logger[org.eclipse.jetty] onto the JUL framework
14:27:51,577 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.sun.jersey.spi.container.servlet.WebComponent] to ERROR
14:27:51,577 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@58ceff1 - Propagating ERROR level on Logger[com.sun.jersey.spi.container.servlet.WebComponent] onto the JUL framework
14:27:51,577 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.sun.jersey.spi.spring] to ERROR
14:27:51,577 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@58ceff1 - Propagating ERROR level on Logger[com.sun.jersey.spi.spring] onto the JUL framework
14:27:51,577 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.springframework] to ERROR
14:27:51,577 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@58ceff1 - Propagating ERROR level on Logger[org.springframework] onto the JUL framework
14:27:51,577 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [com.sun.jersey.spi.inject.Errors] to ERROR
14:27:51,577 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@58ceff1 - Propagating ERROR level on Logger[com.sun.jersey.spi.inject.Errors] onto the JUL framework
14:27:51,577 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.apache.nifi.web.security] to INFO
14:27:51,577 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@58ceff1 - Propagating INFO level on Logger[org.apache.nifi.web.security] onto the JUL framework
14:27:51,577 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [org.apache.nifi.web.security] to false
14:27:51,577 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [USER_FILE] to Logger[org.apache.nifi.web.security]
14:27:51,578 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.apache.nifi.web.api.config] to INFO
14:27:51,578 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@58ceff1 - Propagating INFO level on Logger[org.apache.nifi.web.api.config] onto the JUL framework
14:27:51,578 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [org.apache.nifi.web.api.config] to false
14:27:51,578 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [USER_FILE] to Logger[org.apache.nifi.web.api.config]
14:27:51,578 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.apache.nifi.authorization] to INFO
14:27:51,578 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@58ceff1 - Propagating INFO level on Logger[org.apache.nifi.authorization] onto the JUL framework
14:27:51,578 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [org.apache.nifi.authorization] to false
14:27:51,578 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [USER_FILE] to Logger[org.apache.nifi.authorization]
14:27:51,578 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.apache.nifi.cluster.authorization] to INFO
14:27:51,578 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@58ceff1 - Propagating INFO level on Logger[org.apache.nifi.cluster.authorization] onto the JUL framework
14:27:51,578 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [org.apache.nifi.cluster.authorization] to false
14:27:51,578 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [USER_FILE] to Logger[org.apache.nifi.cluster.authorization]
14:27:51,578 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.apache.nifi.web.filter.RequestLogger] to INFO
14:27:51,578 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@58ceff1 - Propagating INFO level on Logger[org.apache.nifi.web.filter.RequestLogger] onto the JUL framework
14:27:51,578 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [org.apache.nifi.web.filter.RequestLogger] to false
14:27:51,578 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [USER_FILE] to Logger[org.apache.nifi.web.filter.RequestLogger]
14:27:51,578 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.apache.nifi.bootstrap] to INFO
14:27:51,578 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@58ceff1 - Propagating INFO level on Logger[org.apache.nifi.bootstrap] onto the JUL framework
14:27:51,578 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [org.apache.nifi.bootstrap] to false
14:27:51,578 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [BOOTSTRAP_FILE] to Logger[org.apache.nifi.bootstrap]
14:27:51,578 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.apache.nifi.bootstrap.Command] to INFO
14:27:51,578 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@58ceff1 - Propagating INFO level on Logger[org.apache.nifi.bootstrap.Command] onto the JUL framework
14:27:51,578 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [org.apache.nifi.bootstrap.Command] to false
14:27:51,578 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [CONSOLE] to Logger[org.apache.nifi.bootstrap.Command]
14:27:51,578 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [BOOTSTRAP_FILE] to Logger[org.apache.nifi.bootstrap.Command]
14:27:51,578 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.apache.nifi.StdOut] to INFO
14:27:51,578 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@58ceff1 - Propagating INFO level on Logger[org.apache.nifi.StdOut] onto the JUL framework
14:27:51,579 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [org.apache.nifi.StdOut] to false
14:27:51,579 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [BOOTSTRAP_FILE] to Logger[org.apache.nifi.StdOut]
14:27:51,579 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting level of logger [org.apache.nifi.StdErr] to ERROR
14:27:51,579 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@58ceff1 - Propagating ERROR level on Logger[org.apache.nifi.StdErr] onto the JUL framework
14:27:51,579 |-INFO in ch.qos.logback.classic.joran.action.LoggerAction - Setting additivity of logger [org.apache.nifi.StdErr] to false
14:27:51,579 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [BOOTSTRAP_FILE] to Logger[org.apache.nifi.StdErr]
14:27:51,579 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to INFO
14:27:51,579 |-INFO in ch.qos.logback.classic.jul.LevelChangePropagator@58ceff1 - Propagating INFO level on Logger[ROOT] onto the JUL framework
14:27:51,579 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [APP_FILE] to Logger[ROOT]
14:27:51,579 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]
14:27:51,579 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
14:27:51,579 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@3ac3fd8b - Registering current configuration as safe fallback point

2018-02-20 14:27:52,303 INFO [main] org.apache.nifi.bootstrap.Command Starting Apache NiFi...
2018-02-20 14:27:52,306 INFO [main] org.apache.nifi.bootstrap.Command Working Directory: C:\NIFI-1~1.0
2018-02-20 14:27:52,308 INFO [main] org.apache.nifi.bootstrap.Command Command: C:\java\jdk1.8.0_131\bin\java.exe -classpath C:\NIFI-1~1.0\.\conf;C:\NIFI-1~1.0\.\lib\javax.servlet-api-3.1.0.jar;C:\NIFI-1~1.0\.\lib\jcl-over-slf4j-1.7.25.jar;C:\NIFI-1~1.0\.\lib\jetty-schemas-3.1.jar;C:\NIFI-1~1.0\.\lib\jul-to-slf4j-1.7.25.jar;C:\NIFI-1~1.0\.\lib\log4j-over-slf4j-1.7.25.jar;C:\NIFI-1~1.0\.\lib\logback-classic-1.2.3.jar;C:\NIFI-1~1.0\.\lib\logback-core-1.2.3.jar;C:\NIFI-1~1.0\.\lib\nifi-api-1.4.0.jar;C:\NIFI-1~1.0\.\lib\nifi-framework-api-1.4.0.jar;C:\NIFI-1~1.0\.\lib\nifi-nar-utils-1.4.0.jar;C:\NIFI-1~1.0\.\lib\nifi-properties-1.4.0.jar;C:\NIFI-1~1.0\.\lib\nifi-runtime-1.4.0.jar;C:\NIFI-1~1.0\.\lib\ojdbc7.jar;C:\NIFI-1~1.0\.\lib\slf4j-api-1.7.25.jar -Dorg.apache.jasper.compiler.disablejsr199=true -Xmx512m -Xms512m -Djava.security.egd=file:/dev/urandom -Dsun.net.http.allowRestrictedHeaders=true -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -XX:+UseG1GC -Djava.protocol.handler.pkgs=sun.net.www.protocol -Dnifi.properties.file.path=C:\NIFI-1~1.0\.\conf\nifi.properties -Dnifi.bootstrap.listen.port=53032 -Dapp=NiFi -Dorg.apache.nifi.bootstrap.config.log.dir=C:\NIFI-1~1.0\bin\..\\logs org.apache.nifi.NiFi
2018-02-20 14:27:52,732 WARN [main] org.apache.nifi.bootstrap.Command Failed to set permissions so that only the owner can read pid file C:\NIFI-1~1.0\bin\..\run\nifi.pid; this may allows others to have access to the key needed to communicate with NiFi. Permissions should be changed so that only the owner can read this file
2018-02-20 14:27:52,748 WARN [main] org.apache.nifi.bootstrap.Command Failed to set permissions so that only the owner can read status file C:\NIFI-1~1.0\bin\..\run\nifi.status; this may allows others to have access to the key needed to communicate with NiFi. Permissions should be changed so that only the owner can read this file
2018-02-20 14:27:52,759 INFO [main] org.apache.nifi.bootstrap.Command Launched Apache NiFi with Process ID 5924

当我去./logs/nifi-app.log时,我真正希望在我的标准中看到的是:

2018-02-20 14:28:23,830 INFO [StandardProcessScheduler Thread-1] o.a.n.c.s.TimerDrivenSchedulingAgent Scheduled PutS3Object[id=c6b4a824-015f-1000-18a6-cc48e1317763] to run with 1 threads
2018-02-20 14:28:23,869 INFO [main] o.e.jetty.server.handler.ContextHandler Started o.e.j.w.WebAppContext@41a4135e{/,file:///C:/nifi-1.4.0/work/jetty/nifi-web-error-1.4.0.war/webapp/,AVAILABLE}{.\work\nar\framework\nifi-framework-nar-1.4.0.nar-unpacked\META-INF\bundled-dependencies\nifi-web-error-1.4.0.war}
2018-02-20 14:28:23,905 INFO [main] o.eclipse.jetty.server.AbstractConnector Started ServerConnector@6abd88fe{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
2018-02-20 14:28:23,906 INFO [main] org.eclipse.jetty.server.Server Started @31510ms
2018-02-20 14:28:24,827 INFO [main] org.apache.nifi.web.server.JettyServer NiFi has started. The UI is available at the following URLs:
2018-02-20 14:28:24,828 INFO [main] org.apache.nifi.web.server.JettyServer http://172.22.5.70:8080/nifi
2018-02-20 14:28:24,828 INFO [main] org.apache.nifi.web.server.JettyServer http://192.168.56.1:8080/nifi
2018-02-20 14:28:24,828 INFO [main] org.apache.nifi.web.server.JettyServer http://127.0.0.1:8080/nifi
2018-02-20 14:28:24,828 INFO [main] org.apache.nifi.web.server.JettyServer http://192.168.99.1:8080/nifi
2018-02-20 14:28:24,830 INFO [main] org.apache.nifi.BootstrapListener Successfully initiated communication with Bootstrap
2018-02-20 14:28:24,830 INFO [main] org.apache.nifi.NiFi Controller initialization took 26283906190 nanoseconds (26 seconds).
2018-02-20 14:28:27,081 ERROR [Timer-Driven Process Thread-9] o.a.nifi.processors.aws.s3.PutS3Object PutS3Object[id=c6b4a824-015f-1000-18a6-cc48e1317763] Failed to put StandardFlowFileRecord[uuid=107879bd-8675-471b-ba13-471c6d4b8df8,claim=StandardContentClaim [resourceClaim=StandardResourceClaim[id=1519147703257-1, container=default, section=1], offset=0, length=153971],offset=0,name=274138647934808,size=153811] to Amazon S3 due to com.amazonaws.services.s3.model.AmazonS3Exception: Invalid id (Service: Amazon S3; Status Code: 400; Error Code: InvalidArgument; Request ID: E93DF68048C87611), S3 Extended Request ID: 5MBwIoUlrjjsuH7VRa/uKzLm3kQe0UFYH+ZRZSyTRHEc3FBauH+s0ZOiCzc/4VBHoZy92yeQ0Ts=: {}
com.amazonaws.services.s3.model.AmazonS3Exception: Invalid id (Service: Amazon S3; Status Code: 400; Error Code: InvalidArgument; Request ID: E93DF68048C87611)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1545)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1183)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:964)
    at com.amazonaws.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)

所有这一切都是因为NiFi正在运行Mesos,默认情况下,我们所有的容器日志都在stdout中捕获。

问:有谁知道如何在STDOUT中打印所有Apache NiFi日志?

apache stdout logback slf4j apache-nifi
2个回答
3
投票

我想你可能在STDOUT appender上有错误的课程。

我刚刚使用默认的CONSOLE appender,我相信将所有内容记录到控制台。

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
    </encoder>
</appender>

然后在文件的末尾,您需要更新日志级别以使用此appender

<root level="INFO">
    <appender-ref ref="APP_FILE"/>
    <appender-ref ref="CONSOLE"/>
</root>
<root level="ERRROR">
    <appender-ref ref="CONSOLE"/>
</root>
<root level="DEBUG">
    <appender-ref ref="CONSOLE"/>
</root>

这个问题可能对你帮助file and stdout appenders in logback.xml

或者,您可以编辑以下行:

<!-- Everything written to NiFi's Standard Out will be logged with the logger org.apache.nifi.StdOut at INFO level -->
<logger name="org.apache.nifi.StdOut" level="INFO" additivity="false">
    <appender-ref ref="BOOTSTRAP_FILE" />
</logger>

<!-- Everything written to NiFi's Standard Error will be logged with the logger org.apache.nifi.StdErr at ERROR level -->
<logger name="org.apache.nifi.StdErr" level="ERROR" additivity="false">
    <appender-ref ref="BOOTSTRAP_FILE" />
</logger>

使用CONSOLE而不是BOOTSTRAP_FILE


0
投票

我试图使用@Jacob Hughes提到的解决方案更改为CONSOLE appender并添加其根级别,但无法使其工作。

所以我找到了一个解决方法:因为我的主要目标是将输出发送到stdout我正在使用tail -f ./logs/nifi-app.log。这解决了我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.