| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with this |
| work for additional information regarding copyright ownership. The ASF |
| licenses this file to You under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| License for the specific language governing permissions and limitations |
| under the License. |
| --> |
| <!-- Config will be auto loaded every 60s --> |
| <configuration status="error" monitorInterval="60"> |
| <properties> |
| <property name="LOG_PATH">logs</property> |
| <property name="FILE_NAME">hugegraph-example</property> |
| </properties> |
| |
| <appenders> |
| <Console name="console" target="SYSTEM_OUT"> |
| <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/> |
| <PatternLayout pattern="%-d{yyyy-MM-dd HH:mm:ss} [%t] [%p] %c{1.} - %m%n"/> |
| </Console> |
| |
| <!-- Normal server log config --> |
| <RollingRandomAccessFile name="file" fileName="${LOG_PATH}/${FILE_NAME}.log" |
| filePattern="${LOG_PATH}/$${date:yyyy-MM}/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log" |
| immediateFlush="false"> |
| <ThresholdFilter level="TRACE" onMatch="ACCEPT" onMismatch="DENY"/> |
| <PatternLayout pattern="%-d{yyyy-MM-dd HH:mm:ss} [%t] [%p] %c{1.} - %m%n"/> |
| <!-- Trigger after exceeding 1day or 50MB --> |
| <Policies> |
| <SizeBasedTriggeringPolicy size="50MB"/> |
| <TimeBasedTriggeringPolicy interval="1" modulate="true" /> |
| </Policies> |
| <!-- Keep 5 files per day & auto delete after over 2GB or 100 files --> |
| <DefaultRolloverStrategy max="5"> |
| <Delete basePath="${LOG_PATH}" maxDepth="2"> |
| <IfFileName glob="*/*.log"/> |
| <!-- Limit log amount & size --> |
| <IfAny> |
| <IfAccumulatedFileSize exceeds="2GB" /> |
| <IfAccumulatedFileCount exceeds="100" /> |
| </IfAny> |
| </Delete> |
| </DefaultRolloverStrategy> |
| </RollingRandomAccessFile> |
| |
| <!-- Separate & compress audit log, buffer size is 512KB --> |
| <RollingRandomAccessFile name="audit" fileName="${LOG_PATH}/audit-${FILE_NAME}.log" |
| filePattern="${LOG_PATH}/$${date:yyyy-MM}/audit-${FILE_NAME}-%d{yyyy-MM-dd-HH}-%i.gz" |
| bufferSize="524288" immediateFlush="false"> |
| <ThresholdFilter level="TRACE" onMatch="ACCEPT" onMismatch="DENY"/> |
| <!-- Use simple format for audit log to speed up --> |
| <PatternLayout pattern="%-d{yyyy-MM-dd HH:mm:ss} - %m%n"/> |
| <!-- Trigger after exceeding 1hour or 500MB --> |
| <Policies> |
| <SizeBasedTriggeringPolicy size="500MB"/> |
| <TimeBasedTriggeringPolicy interval="1" modulate="true" /> |
| </Policies> |
| <!-- Keep 2 files per hour & auto delete [after 60 days] or [over 5GB or 500 files] --> |
| <DefaultRolloverStrategy max="2"> |
| <Delete basePath="${LOG_PATH}" maxDepth="2"> |
| <IfFileName glob="*/*.gz"/> |
| <IfLastModified age="60d"/> |
| <IfAny> |
| <IfAccumulatedFileSize exceeds="5GB" /> |
| <IfAccumulatedFileCount exceeds="500" /> |
| </IfAny> |
| </Delete> |
| </DefaultRolloverStrategy> |
| </RollingRandomAccessFile> |
| </appenders> |
| |
| <loggers> |
| <root level="INFO"> |
| <appender-ref ref="console"/> |
| <appender-ref ref="file"/> |
| </root> |
| <logger name="org.apache.cassandra" level="INFO" additivity="false"> |
| <appender-ref ref="console"/> |
| <appender-ref ref="file"/> |
| </logger> |
| <logger name="org.apache.hadoop" level="INFO" additivity="false"> |
| <appender-ref ref="console"/> |
| <appender-ref ref="file"/> |
| </logger> |
| <logger name="org.apache.zookeeper" level="WARN" additivity="false"> |
| <appender-ref ref="console"/> |
| <appender-ref ref="file"/> |
| </logger> |
| <logger name="com.datastax.driver" level="WARN" additivity="false"> |
| <appender-ref ref="console"/> |
| <appender-ref ref="file"/> |
| </logger> |
| <logger name="com.alipay.sofa" level="WARN" additivity="false"> |
| <appender-ref ref="console"/> |
| <appender-ref ref="file"/> |
| </logger> |
| <logger name="io.netty" level="INFO" additivity="false"> |
| <appender-ref ref="console"/> |
| <appender-ref ref="file"/> |
| </logger> |
| <logger name="org.apache.commons" level="INFO" additivity="false"> |
| <appender-ref ref="console"/> |
| <appender-ref ref="file"/> |
| </logger> |
| <!-- Use mixed async way to output logs --> |
| <AsyncLogger name="org.apache.hugegraph" level="INFO" additivity="false"> |
| <appender-ref ref="console"/> |
| <appender-ref ref="file"/> |
| </AsyncLogger> |
| <AsyncLogger name="org.apache.hugegraph.auth" level="INFO" additivity="false"> |
| <appender-ref ref="console"/> |
| <appender-ref ref="audit"/> |
| </AsyncLogger> |
| <AsyncLogger name="org.apache.hugegraph.api.filter.AuthenticationFilter" level="INFO" additivity="false"> |
| <appender-ref ref="console"/> |
| <appender-ref ref="audit"/> |
| </AsyncLogger> |
| </loggers> |
| </configuration> |