forked from hugegraph/hugegraph-sync
145 lines
6.9 KiB
XML
145 lines
6.9 KiB
XML
<?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-server</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>
|
|
|
|
<!-- Slow query log config -->
|
|
<RollingRandomAccessFile name="slowQueryLog" fileName="${LOG_PATH}/slow_query.log"
|
|
filePattern="${LOG_PATH}/$${date:yyyy-MM}/slow_query_log-%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>
|
|
</appenders>
|
|
|
|
<loggers>
|
|
<root level="INFO">
|
|
<appender-ref ref="file"/>
|
|
</root>
|
|
<logger name="org.apache.cassandra" level="INFO" additivity="false">
|
|
<appender-ref ref="file"/>
|
|
</logger>
|
|
<logger name="org.apache.hadoop" level="INFO" additivity="false">
|
|
<appender-ref ref="file"/>
|
|
</logger>
|
|
<logger name="org.apache.zookeeper" level="WARN" additivity="false">
|
|
<appender-ref ref="file"/>
|
|
</logger>
|
|
<logger name="com.datastax.driver" level="WARN" additivity="false">
|
|
<appender-ref ref="file"/>
|
|
</logger>
|
|
<logger name="com.alipay.sofa" level="WARN" additivity="false">
|
|
<appender-ref ref="file"/>
|
|
</logger>
|
|
<logger name="io.netty" level="INFO" additivity="false">
|
|
<appender-ref ref="file"/>
|
|
</logger>
|
|
<logger name="org.apache.commons" level="INFO" additivity="false">
|
|
<appender-ref ref="file"/>
|
|
</logger>
|
|
<!-- Use mixed async way to output logs -->
|
|
<AsyncLogger name="org.apache.hugegraph" level="INFO" additivity="false">
|
|
<appender-ref ref="file"/>
|
|
</AsyncLogger>
|
|
<AsyncLogger name="org.apache.hugegraph.auth" level="INFO" additivity="false">
|
|
<appender-ref ref="audit"/>
|
|
</AsyncLogger>
|
|
<AsyncLogger name="org.apache.hugegraph.api.filter.AuthenticationFilter" level="INFO" additivity="false">
|
|
<appender-ref ref="audit"/>
|
|
</AsyncLogger>
|
|
<AsyncLogger name="org.apache.hugegraph.api.filter.AccessLogFilter" level="INFO" additivity="false">
|
|
<appender-ref ref="slowQueryLog"/>
|
|
</AsyncLogger>
|
|
</loggers>
|
|
</configuration>
|