#
# Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2009, 2018 Jason Mehrens. All Rights Reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Distribution License v. 1.0, which is available at
# http://www.eclipse.org/org/documents/edl-v10.php.
#
# SPDX-License-Identifier: BSD-3-Clause




# This can be used by setting the system property
# -Djava.util.logging.config.file=path to this file

# Taken from the JDK defaults.
handlers= java.util.logging.ConsoleHandler
.level= INFO
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter


# Set the mail handler demo logger level
MailHandlerDemo.level = ALL

# Configure the MailHandler.
com.sun.mail.util.logging.MailHandler.level = ALL
com.sun.mail.util.logging.MailHandler.mail.host = my-mail-server
com.sun.mail.util.logging.MailHandler.mail.from = me@example.com
com.sun.mail.util.logging.MailHandler.mail.to = me@example.com
com.sun.mail.util.logging.MailHandler.verify = local

# Add attachments if needed.
#com.sun.mail.util.logging.MailHandler.attachment.formatters = java.util.logging.SimpleFormatter, java.util.logging.XMLFormatter

# No filters.
#com.sun.mail.util.logging.MailHandler.attachment.filters = null, null

# Formatter class name or strings.
#com.sun.mail.util.logging.MailHandler.attachment.names = simple.txt, error.xml


# Store messages on error by installing the FileErrorManager (demo code).
com.sun.mail.util.logging.MailHandler.errorManager = FileErrorManager

# Configure the FileErrorManager for demo (not required).
# FileErrorManager.pattern = path-to-dir

# Debug mail transport issues.
mail.debug = false
