<?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.
-->
<Configuration status="WARN">
	<Properties>
		<Property name="PID">????</Property>
		<Property name="LOG_EXCEPTION_CONVERSION_WORD">%xwEx</Property>
		<Property name="LOG_LEVEL_PATTERN">%5p</Property>
		<Property name="LOG_DATEFORMAT_PATTERN">yyyy-MM-dd HH:mm:ss.SSS</Property>
		<Property name="CONSOLE_LOG_PATTERN">%clr{%d{${LOG_DATEFORMAT_PATTERN}}}{faint} %clr{${LOG_LEVEL_PATTERN}} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%15.15t]}{faint} %clr{%-40.40c{1.}}{cyan} %clr{:}{faint} %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>
		<Property name="FILE_LOG_PATTERN">%d{${LOG_DATEFORMAT_PATTERN}} ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%t] %-40.40c{1.} : %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>
	</Properties>
	<Appenders>
		<Console name="Console" target="SYSTEM_OUT" follow="true">
			<PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN}" />
		</Console>
	</Appenders>
	<Loggers>
		<Logger name="org.apache.catalina.startup.DigesterFactory" level="error" />
		<Logger name="org.apache.catalina.util.LifecycleBase" level="error" />
		<Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" />
		<logger name="org.apache.sshd.common.util.SecurityUtils" level="warn"/>
		<Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" />
		<Logger name="org.eclipse.jetty.util.component.AbstractLifeCycle" level="error" />
		<Logger name="org.hibernate.validator.internal.util.Version" level="warn" />
		<logger name="org.springframework.boot.actuate.endpoint.jmx" level="warn"/>
		
		<logger name="DataNucleus.Persistence" level="debug"/>
		<logger name="DataNucleus.Transaction" level="debug"/>
		<logger name="DataNucleus.Datastore.Schema" level="debug"/>
		<logger name="DataNucleus.Datastore.Native" level="debug"/>
		
		<Root level="info">
			<AppenderRef ref="Console" />
		</Root>
	</Loggers>
</Configuration>

<!-- # DataNucleus Logging Categories -->
<!-- DataNucleus.Persistence - All messages relating to the persistence process -->
<!-- DataNucleus.Transaction - All messages relating to transactions -->
<!-- DataNucleus.Connection - All messages relating to Connections. -->
<!-- DataNucleus.Query - All messages relating to queries -->
<!-- DataNucleus.Cache - All messages relating to the DataNucleus Cache -->
<!-- DataNucleus.MetaData - All messages relating to MetaData -->
<!-- DataNucleus.Datastore - All general datastore messages -->
<!-- DataNucleus.Datastore.Schema - All schema related datastore log messages -->
<!-- DataNucleus.Datastore.Persist - All datastore persistence messages -->
<!-- DataNucleus.Datastore.Retrieve - All datastore retrieval messages -->
<!-- DataNucleus.Datastore.Native - Log of all 'native' statements sent to the datastore -->
<!-- DataNucleus.General - All general operational messages -->
<!-- DataNucleus.Lifecycle - All messages relating to object lifecycle changes -->
<!-- DataNucleus.ValueGeneration - All messages relating to value generation -->
<!-- DataNucleus.Enhancer - All messages from the DataNucleus Enhancer. -->
<!-- DataNucleus.SchemaTool - All messages from DataNucleus SchemaTool -->
<!-- DataNucleus.JDO - All messages general to JDO -->
<!-- DataNucleus.JPA - All messages general to JPA -->
<!-- DataNucleus.JCA - All messages relating to Connector JCA. -->
<!-- DataNucleus.IDE - Messages from the DataNucleus IDE. -->