<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question Re: NiFi custom processor custom log, logging in two places in Archives of Support Questions (Read Only)</title>
    <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/NiFi-custom-processor-custom-log-logging-in-two-places/m-p/214394#M63492</link>
    <description>&lt;P&gt;additivity="false" is essential&lt;/P&gt;&lt;P&gt;Complete answer on &lt;A target="_blank" href="https://stackoverflow.com/questions/44699912/nifi-custom-processor-custom-log-logging-in-two-places"&gt;StackOverflow&lt;/A&gt;.&lt;/P&gt;</description>
    <pubDate>Wed, 28 Jun 2017 19:24:16 GMT</pubDate>
    <dc:creator>kaliyugantagoni</dc:creator>
    <dc:date>2017-06-28T19:24:16Z</dc:date>
    <item>
      <title>NiFi custom processor custom log, logging in two places</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/NiFi-custom-processor-custom-log-logging-in-two-places/m-p/214393#M63491</link>
      <description>&lt;P&gt;NiFi 1.2.0&lt;/P&gt;&lt;P&gt;I am having a custom processor and I wish to have a dedicated log file for the same. Accordingly, I have configured the com.datalake.processors.SQLServerCDCProcessor class to use an appender named 'SQLSERVER-CDC'&lt;/P&gt;&lt;P&gt;Following is the logback.xml :&lt;/P&gt;&lt;PRE&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;
&amp;lt;configuration scan="true" scanPeriod="30 seconds"&amp;gt;
    &amp;lt;contextListener&amp;gt;
        &amp;lt;resetJUL&amp;gt;true&amp;lt;/resetJUL&amp;gt;
    &amp;lt;/contextListener&amp;gt;
    &amp;lt;appender name="APP_FILE"&amp;gt;
        &amp;lt;file&amp;gt;/var/log/nifi/nifi-app.log&amp;lt;/file&amp;gt;
        &amp;lt;rollingPolicy&amp;gt;
            &amp;lt;!--
                               For daily rollover, use 'app_%d.log'.
              For hourly rollover, use 'app_%d{yyyy-MM-dd_HH}.log'.
              To GZIP rolled files, replace '.log' with '.log.gz'.
              To ZIP rolled files, replace '.log' with '.log.zip'.
            --&amp;gt;
            &amp;lt;fileNamePattern&amp;gt;/var/log/nifi/archive/nifi-app_%d{yyyy-MM-dd_HH}.%i.log&amp;lt;/fileNamePattern&amp;gt;
            &amp;lt;timeBasedFileNamingAndTriggeringPolicy&amp;gt;
                &amp;lt;maxFileSize&amp;gt;100MB&amp;lt;/maxFileSize&amp;gt;
            &amp;lt;/timeBasedFileNamingAndTriggeringPolicy&amp;gt;
            &amp;lt;!-- keep 30 log files worth of history --&amp;gt;
            &amp;lt;maxHistory&amp;gt;3&amp;lt;/maxHistory&amp;gt;
        &amp;lt;/rollingPolicy&amp;gt;
        &amp;lt;encoder&amp;gt;
            &amp;lt;pattern&amp;gt;%date %level [%thread] %logger{40} %msg%n&amp;lt;/pattern&amp;gt;
        &amp;lt;/encoder&amp;gt;
     &amp;lt;immediateFlush&amp;gt;true&amp;lt;/immediateFlush&amp;gt;
    &amp;lt;/appender&amp;gt;
    &amp;lt;appender name="USER_FILE"&amp;gt;
        &amp;lt;file&amp;gt;/var/log/nifi/nifi-user.log&amp;lt;/file&amp;gt;
        &amp;lt;rollingPolicy&amp;gt;
            &amp;lt;!--
                               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'.
            --&amp;gt;
            &amp;lt;fileNamePattern&amp;gt;/var/log/nifi/archive/nifi-user_%d.log&amp;lt;/fileNamePattern&amp;gt;
            &amp;lt;!-- keep 30 log files worth of history --&amp;gt;
            &amp;lt;maxHistory&amp;gt;3&amp;lt;/maxHistory&amp;gt;
        &amp;lt;/rollingPolicy&amp;gt;
        &amp;lt;encoder&amp;gt;
            &amp;lt;pattern&amp;gt;%date %level [%thread] %logger{40} %msg%n&amp;lt;/pattern&amp;gt;
        &amp;lt;/encoder&amp;gt;
    &amp;lt;/appender&amp;gt;
    &amp;lt;appender name="BOOTSTRAP_FILE"&amp;gt;
        &amp;lt;file&amp;gt;/var/log/nifi/nifi-bootstrap.log&amp;lt;/file&amp;gt;
        &amp;lt;rollingPolicy&amp;gt;
            &amp;lt;!--
              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'.
            --&amp;gt;
            &amp;lt;fileNamePattern&amp;gt;/var/log/nifi/archive/nifi-bootstrap_%d.log&amp;lt;/fileNamePattern&amp;gt;
            &amp;lt;!-- keep 5 log files worth of history --&amp;gt;
            &amp;lt;maxHistory&amp;gt;5&amp;lt;/maxHistory&amp;gt;
        &amp;lt;/rollingPolicy&amp;gt;
        &amp;lt;encoder&amp;gt;
            &amp;lt;pattern&amp;gt;%date %level [%thread] %logger{40} %msg%n&amp;lt;/pattern&amp;gt;
        &amp;lt;/encoder&amp;gt;
    &amp;lt;/appender&amp;gt;
    &amp;lt;appender name="CONSOLE"&amp;gt;
        &amp;lt;encoder&amp;gt;
            &amp;lt;pattern&amp;gt;%date %level [%thread] %logger{40} %msg%n&amp;lt;/pattern&amp;gt;
        &amp;lt;/encoder&amp;gt;
    &amp;lt;/appender&amp;gt;
        &amp;lt;!-- Start : Added for log for custom processor --&amp;gt;
        &amp;lt;appender name="SQLSERVER-CDC"&amp;gt;
        &amp;lt;file&amp;gt;/var/log/nifi/sqlserver-cdc.log&amp;lt;/file&amp;gt;
        &amp;lt;rollingPolicy&amp;gt;
            &amp;lt;!--
              For daily rollover, use 'app_%d.log'.
              For hourly rollover, use 'app_%d{yyyy-MM-dd_HH}.log'.
              To GZIP rolled files, replace '.log' with '.log.gz'.
              To ZIP rolled files, replace '.log' with '.log.zip'.
            --&amp;gt;
            &amp;lt;fileNamePattern&amp;gt;/var/log/nifi/archive/sqlserver-cdc_%d{yyyy-MM-dd_HH}.%i.log&amp;lt;/fileNamePattern&amp;gt;
            &amp;lt;timeBasedFileNamingAndTriggeringPolicy&amp;gt;
                &amp;lt;maxFileSize&amp;gt;25MB&amp;lt;/maxFileSize&amp;gt;
            &amp;lt;/timeBasedFileNamingAndTriggeringPolicy&amp;gt;
            &amp;lt;!-- keep 30 log files worth of history --&amp;gt;
            &amp;lt;maxHistory&amp;gt;3&amp;lt;/maxHistory&amp;gt;
        &amp;lt;/rollingPolicy&amp;gt;
        &amp;lt;encoder&amp;gt;
            &amp;lt;pattern&amp;gt;%date %level [%thread] %logger{40} %msg%n&amp;lt;/pattern&amp;gt;
            &amp;lt;immediateFlush&amp;gt;true&amp;lt;/immediateFlush&amp;gt;
        &amp;lt;/encoder&amp;gt;
    &amp;lt;/appender&amp;gt;
        &amp;lt;!-- End : Added for log for custom processor --&amp;gt;
    &amp;lt;!-- valid logging levels: TRACE, DEBUG, INFO, WARN, ERROR --&amp;gt;
    &amp;lt;logger name="org.apache.nifi" level="INFO"/&amp;gt;
    &amp;lt;logger name="org.apache.nifi.processors" level="WARN"/&amp;gt;
    &amp;lt;logger name="org.apache.nifi.processors.standard.LogAttribute" level="INFO"/&amp;gt;
    &amp;lt;logger name="org.apache.nifi.controller.repository.StandardProcessSession" level="WARN" /&amp;gt;
    &amp;lt;logger name="org.apache.zookeeper.ClientCnxn" level="ERROR" /&amp;gt;
    &amp;lt;logger name="org.apache.zookeeper.server.NIOServerCnxn" level="ERROR" /&amp;gt;
    &amp;lt;logger name="org.apache.zookeeper.server.NIOServerCnxnFactory" level="ERROR" /&amp;gt;
    &amp;lt;logger name="org.apache.zookeeper.server.quorum" level="ERROR" /&amp;gt;
    &amp;lt;logger name="org.apache.zookeeper.ZooKeeper" level="ERROR" /&amp;gt;
    &amp;lt;logger name="org.apache.zookeeper.server.PrepRequestProcessor" level="ERROR" /&amp;gt;
    &amp;lt;logger name="org.apache.calcite.runtime.CalciteException" level="OFF" /&amp;gt;
    &amp;lt;logger name="org.apache.curator.framework.recipes.leader.LeaderSelector" level="OFF" /&amp;gt;
    &amp;lt;logger name="org.apache.curator.ConnectionState" level="OFF" /&amp;gt;
    &amp;lt;!-- Logger for managing logging statements for nifi clusters. --&amp;gt;
    &amp;lt;logger name="org.apache.nifi.cluster" level="INFO"/&amp;gt;
    &amp;lt;!-- Logger for logging HTTP requests received by the web server. --&amp;gt;
    &amp;lt;logger name="org.apache.nifi.server.JettyServer" level="INFO"/&amp;gt;
    &amp;lt;!-- Logger for managing logging statements for jetty --&amp;gt;
    &amp;lt;logger name="org.eclipse.jetty" level="INFO"/&amp;gt;
    &amp;lt;!-- Suppress non-error messages due to excessive logging by class or library --&amp;gt;
    &amp;lt;logger name="com.sun.jersey.spi.container.servlet.WebComponent" level="ERROR"/&amp;gt;
    &amp;lt;logger name="com.sun.jersey.spi.spring" level="ERROR"/&amp;gt;
    &amp;lt;logger name="org.springframework" level="ERROR"/&amp;gt;
    &amp;lt;!-- Suppress non-error messages due to known warning about redundant path annotation (NIFI-574) --&amp;gt;
    &amp;lt;logger name="com.sun.jersey.spi.inject.Errors" level="ERROR"/&amp;gt;
    &amp;lt;!--
        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.
    --&amp;gt;
    &amp;lt;logger name="org.apache.nifi.web.security" level="INFO" additivity="false"&amp;gt;
        &amp;lt;appender-ref ref="USER_FILE"/&amp;gt;
    &amp;lt;/logger&amp;gt;
    &amp;lt;logger name="org.apache.nifi.web.api.config" level="INFO" additivity="false"&amp;gt;
        &amp;lt;appender-ref ref="USER_FILE"/&amp;gt;
    &amp;lt;/logger&amp;gt;
    &amp;lt;logger name="org.apache.nifi.authorization" level="INFO" additivity="false"&amp;gt;
        &amp;lt;appender-ref ref="USER_FILE"/&amp;gt;
    &amp;lt;/logger&amp;gt;
    &amp;lt;logger name="org.apache.nifi.cluster.authorization" level="INFO" additivity="false"&amp;gt;
        &amp;lt;appender-ref ref="USER_FILE"/&amp;gt;
    &amp;lt;/logger&amp;gt;
    &amp;lt;logger name="org.apache.nifi.web.filter.RequestLogger" level="INFO" additivity="false"&amp;gt;
        &amp;lt;appender-ref ref="USER_FILE"/&amp;gt;
    &amp;lt;/logger&amp;gt;
    &amp;lt;!--
        Logger for capturing Bootstrap logs and NiFi's standard error and standard out.
    --&amp;gt;
    &amp;lt;logger name="org.apache.nifi.bootstrap" level="INFO" additivity="false"&amp;gt;
        &amp;lt;appender-ref ref="BOOTSTRAP_FILE" /&amp;gt;
    &amp;lt;/logger&amp;gt;
    &amp;lt;logger name="org.apache.nifi.bootstrap.Command" level="INFO" additivity="false"&amp;gt;
        &amp;lt;appender-ref ref="CONSOLE" /&amp;gt;
        &amp;lt;appender-ref ref="BOOTSTRAP_FILE" /&amp;gt;
    &amp;lt;/logger&amp;gt;
    &amp;lt;!-- Everything written to NiFi's Standard Out will be logged with the logger org.apache.nifi.StdOut at INFO level --&amp;gt;
    &amp;lt;logger name="org.apache.nifi.StdOut" level="INFO" additivity="false"&amp;gt;
        &amp;lt;appender-ref ref="BOOTSTRAP_FILE" /&amp;gt;
    &amp;lt;/logger&amp;gt;
    &amp;lt;!-- Everything written to NiFi's Standard Error will be logged with the logger org.apache.nifi.StdErr at ERROR level --&amp;gt;
    &amp;lt;logger name="org.apache.nifi.StdErr" level="ERROR" additivity="false"&amp;gt;
        &amp;lt;appender-ref ref="BOOTSTRAP_FILE" /&amp;gt;
    &amp;lt;/logger&amp;gt;
    &amp;lt;!-- Start : Added for log for custom processor --&amp;gt;
    &amp;lt;logger name="com.datalake.processors.SQLServerCDCProcessor" level="DEBUG" &amp;gt;
        &amp;lt;appender-ref ref="SQLSERVER-CDC"/&amp;gt;
    &amp;lt;/logger&amp;gt;
    &amp;lt;!-- End : Added for log for custom processor --&amp;gt;
    &amp;lt;root level="INFO"&amp;gt;
        &amp;lt;appender-ref ref="APP_FILE"/&amp;gt;
    &amp;lt;/root&amp;gt;
&amp;lt;/configuration&amp;gt;&lt;/PRE&gt;&lt;P&gt;The strange fact is that the custom processor debug statements are written to both 'nifi-app.log' and the 'sqlserver-cdc.log' but I want these statements to be written only in the latter('sqlserver-cdc.log').&lt;/P&gt;&lt;P&gt;What am I missing ?&lt;/P&gt;</description>
      <pubDate>Thu, 22 Jun 2017 19:47:26 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/NiFi-custom-processor-custom-log-logging-in-two-places/m-p/214393#M63491</guid>
      <dc:creator>kaliyugantagoni</dc:creator>
      <dc:date>2017-06-22T19:47:26Z</dc:date>
    </item>
    <item>
      <title>Re: NiFi custom processor custom log, logging in two places</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/NiFi-custom-processor-custom-log-logging-in-two-places/m-p/214394#M63492</link>
      <description>&lt;P&gt;additivity="false" is essential&lt;/P&gt;&lt;P&gt;Complete answer on &lt;A target="_blank" href="https://stackoverflow.com/questions/44699912/nifi-custom-processor-custom-log-logging-in-two-places"&gt;StackOverflow&lt;/A&gt;.&lt;/P&gt;</description>
      <pubDate>Wed, 28 Jun 2017 19:24:16 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/NiFi-custom-processor-custom-log-logging-in-two-places/m-p/214394#M63492</guid>
      <dc:creator>kaliyugantagoni</dc:creator>
      <dc:date>2017-06-28T19:24:16Z</dc:date>
    </item>
  </channel>
</rss>

