-<configuration scan="true">
+ <configuration scan="true">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<maxHistory>1</maxHistory>
</rollingPolicy>
+ <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>10MB</maxFileSize>
+ </triggeringPolicy>
+
<encoder>
<pattern>%date{"yyyy-MM-dd HH:mm:ss.SSS z"} [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
-
+ <appender name="audit-file" class="ch.qos.logback.core.FileAppender">
+ <file>logs/audit.log</file>
+ <append>true</append>
+ <encoder>
+ <pattern>%date{"yyyy-MM-dd HH:mm:ss.SSS z"} %msg %n</pattern>
+ </encoder>
+ </appender>
<root level="error">
<appender-ref ref="STDOUT" />
<appender-ref ref="opendaylight.log" />
</root>
<!-- Base log level -->
+ <logger name="org.opendaylight" level="INFO"/>
+
+
+ <!-- Controller log level -->
<logger name="org.opendaylight.controller" level="INFO"/>
<!-- OSGi logging bridge -->
<logger name="org.opendaylight.controller.logging.bridge" level="WARN"/>
+ <!-- Netty -->
+ <logger name="io.netty" level="WARN"/>
+
<!-- Openflow Protocol Plugin -->
<logger name="org.opendaylight.controller.protocol_plugin.openflow" level="INFO"/>
<logger name="org.opendaylight.controller.protocol_plugin.openflow.internal.DiscoveryService" level="INFO"/>
<logger name="org.opendaylight.controller.sal.implementation" level="INFO"/>
<logger name="org.opendaylight.controller.sal.implementation.internal.Inventory" level="INFO"/>
<logger name="org.opendaylight.controller.sal.implementation.internal.Topology" level="INFO"/>
+ <!-- zeromq router and zeromq routing table -->
+ <logger name="org.opendaylight.controller.sal.connector.remoterpc" level="INFO" />
<!-- Functional Modules -->
<logger name="org.opendaylight.controller.arphandler" level="INFO"/>
<logger name="org.opendaylight.controller.hosttracker" level="INFO"/>
<logger name="org.opendaylight.controller.usermanager" level="INFO"/>
<!-- Web modules -->
<logger name="org.opendaylight.controller.web" level="INFO"/>
+ <!-- additivity=false ensures analytics data only goes to the analytics log -->
+ <logger name="audit" level="INFO" additivity="false">
+ <appender-ref ref="audit-file"/>
+ </logger>
</configuration>