Source code for apptools.logger.plugin.view.logger_preferences_page

# (C) Copyright 2005-2024 Enthought, Inc., Austin, TX
# All rights reserved.
#
# This software is provided without warranty under the terms of the BSD
# license included in LICENSE.txt and may be redistributed only under
# the conditions described in the aforementioned license. The license
# is also available online at http://www.enthought.com/licenses/BSD.txt
#
# Thanks for using Enthought open source!

import logging

from apptools.preferences.ui.api import PreferencesPage
from traits.api import Bool, Trait, Str
from traitsui.api import EnumEditor, Group, Item, View


[docs]class LoggerPreferencesPage(PreferencesPage): """A preference page for the logger plugin.""" #### 'PreferencesPage' interface ########################################## # The page's category (e.g. 'General/Appearance'). The empty string means # that this is a top-level page. category = "" # The page's help identifier (optional). If a help Id *is* provided then # there will be a 'Help' button shown on the preference page. help_id = "" # The page name (this is what is shown in the preferences dialog. name = "Logger" # The path to the preferences node that contains the preferences. preferences_path = "apptools.logger" #### Preferences ########################################################## # The log levels level = Trait( "Info", { "Debug": logging.DEBUG, "Info": logging.INFO, "Warning": logging.WARNING, "Error": logging.ERROR, "Critical": logging.CRITICAL, }, is_str=True, ) enable_agent = Bool(False) smtp_server = Str to_address = Str from_address = Str # The view used to change the plugin preferences traits_view = View( Group( Group( Item( name="level", editor=EnumEditor( values={ "Debug": "1:Debug", "Info": "2:Info", "Warning": "3:Warning", "Error": "4:Error", "Critical": "5:Critical", }, ), style="simple", ), label="Logger Settings", show_border=True, ), Group(Item(name="10")), Group( Group( Group( Item( name="enable_agent", label="Enable quality agent" ), show_left=False, ), Group( Item(name="smtp_server", label="SMTP server"), Item(name="from_address"), Item(name="to_address"), enabled_when="enable_agent==True", ), ), label="Quality Agent Settings", show_border=True, ), ), )