<?xml version="1.0" encoding="UTF-8" ?>
<!--30 seconds  scan="true" scanPeriod="1 minutes" -->
<configuration>
	<property name="zookeeper.log.dir" value="../logs"/>
	<property name="zookeeper.log.file" value="zookeeper.log"/>
	<property name="zookeeper.log.maxfilesize" value="10KB"/>
	<property name="zookeeper.log.maxbackupindex" value="20"/>
	<property name="zookeeper.tracelog.dir" value="${zookeeper.log.dir}"/>
	<property name="zookeeper.tracelog.file" value="zookeeper_trace.log"/>
	<property name="zookeeper.auditlog.file" value="zookeeper_audit.log"/>
	<property name="zookeeper.auditlog.threshold" value="INFO"/>

	<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
			<level>INFO</level>
		</filter>
		<encoder>
			<pattern>%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n</pattern>
		</encoder>
	</appender>

	<!-- 
	<appender name="ROLLINGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${zookeeper.log.dir}/${zookeeper.log.file}</file>
		<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
			<fileNamePattern>${zookeeper.log.dir}/${zookeeper.log.file}.%d{yyyy-MM-dd}.%i</fileNamePattern>
			<maxIndex>${zookeeper.log.maxbackupindex}</maxIndex>
		</rollingPolicy>
		<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
			<maxFileSize>${zookeeper.log.maxfilesize}</maxFileSize>
		</triggeringPolicy>
		<encoder>
			<pattern>%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n</pattern>
		</encoder>
	</appender>
	-->
	
	<appender name="ROLLINGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<FileNamePattern>${zookeeper.log.dir}/${HOSTNAME}-file.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
			<cleanHistoryOnStart>true</cleanHistoryOnStart>
			<maxHistory>30</maxHistory>
			<totalSizeCap>1024MB</totalSizeCap>
			<TimeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
				<MaxFileSize>20MB</MaxFileSize>
			</TimeBasedFileNamingAndTriggeringPolicy>
		</rollingPolicy>
		<encoder>
			<pattern>%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n</pattern>
		</encoder>
	</appender>


	<appender name="TRACEFILE" class="ch.qos.logback.core.FileAppender">
		<file>${zookeeper.tracelog.dir}/${zookeeper.tracelog.file}</file>
		<encoder>
			<pattern>%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L][%x] - %m%n</pattern>
		</encoder>
	</appender>

	<appender name="RFAAUDIT" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${zookeeper.log.dir}/${zookeeper.auditlog.file}</file>
		<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
			<fileNamePattern>${zookeeper.log.dir}/${zookeeper.auditlog.file}.%i</fileNamePattern>
			<maxIndex>10</maxIndex>
		</rollingPolicy>
		<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
			<maxFileSize>10MB</maxFileSize>
		</triggeringPolicy>
		<encoder>
			<pattern>%d{ISO8601} %p %c{2}: %m%n</pattern>
		</encoder>
	</appender>

	<logger name="org.apache.zookeeper.audit.Log4jAuditLogger" level="INFO" additivity="false">
		<appender-ref ref="RFAAUDIT"/>
	</logger>

	<root level="INFO">
		<appender-ref ref="CONSOLE"/>
		<appender-ref ref="ROLLINGFILE"/>
	</root>
</configuration>
 
 
