mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Logging is now configured in API.bootstrap(); removed depreciated util.configure_logging() function
This commit is contained in:
@@ -28,10 +28,13 @@ http://docs.python.org/ref/sequence-types.html
|
||||
import re
|
||||
import inspect
|
||||
import threading
|
||||
import logging
|
||||
import os
|
||||
from os import path
|
||||
import errors
|
||||
from errors import check_type, check_isinstance
|
||||
from config import Environment, Env
|
||||
import constants
|
||||
from constants import LOGGING_FILE_FORMAT, LOGGING_CONSOLE_FORMAT, DEFAULT_CONFIG
|
||||
import util
|
||||
|
||||
|
||||
@@ -766,18 +769,49 @@ class API(DictProxy):
|
||||
|
||||
def bootstrap(self, **overrides):
|
||||
"""
|
||||
Initialize environment variables needed by built-in plugins.
|
||||
Initialize environment variables and logging.
|
||||
"""
|
||||
self.__doing('bootstrap')
|
||||
self.env._bootstrap(**overrides)
|
||||
self.env._finalize_core(**dict(constants.DEFAULT_CONFIG))
|
||||
self.env._finalize_core(**dict(DEFAULT_CONFIG))
|
||||
log = logging.getLogger('ipa')
|
||||
object.__setattr__(self, 'log', log)
|
||||
if self.env.debug:
|
||||
log.setLevel(logging.DEBUG)
|
||||
else:
|
||||
log.setLevel(logging.INFO)
|
||||
|
||||
# Add stderr handler:
|
||||
stderr = logging.StreamHandler()
|
||||
stderr.setFormatter(logging.Formatter(LOGGING_CONSOLE_FORMAT))
|
||||
if self.env.debug:
|
||||
level = logging.DEBUG
|
||||
elif self.env.verbose:
|
||||
level = logging.INFO
|
||||
else:
|
||||
level = logging.WARNING
|
||||
stderr.setLevel(level)
|
||||
log.addHandler(stderr)
|
||||
|
||||
# Add file handler:
|
||||
if self.env.mode == 'unit_test':
|
||||
return
|
||||
logger = util.configure_logging(
|
||||
self.env.log,
|
||||
self.env.verbose,
|
||||
)
|
||||
object.__setattr__(self, 'log', logger)
|
||||
return # But not if in unit-test mode
|
||||
log_dir = path.dirname(self.env.log)
|
||||
if not path.isdir(log_dir):
|
||||
try:
|
||||
os.makedirs(log_dir)
|
||||
except OSError:
|
||||
log.warn('Could not create log_dir %r', log_dir)
|
||||
return
|
||||
handler = logging.FileHandler(self.env.log)
|
||||
handler.setFormatter(logging.Formatter(LOGGING_FILE_FORMAT))
|
||||
if self.env.debug:
|
||||
level = logging.DEBUG
|
||||
else:
|
||||
level = logging.INFO
|
||||
handler.setLevel(level)
|
||||
log.addHandler(handler)
|
||||
|
||||
|
||||
def load_plugins(self):
|
||||
"""
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
Various utility functions.
|
||||
"""
|
||||
|
||||
import logging
|
||||
import os
|
||||
from os import path
|
||||
import imp
|
||||
@@ -102,35 +101,3 @@ def import_plugins_subpackage(name):
|
||||
for name in find_modules_in_dir(src_dir):
|
||||
full_name = '%s.%s' % (plugins.__name__, name)
|
||||
__import__(full_name)
|
||||
|
||||
|
||||
def configure_logging(log_file, verbose):
|
||||
"""
|
||||
Configure standard logging.
|
||||
"""
|
||||
# Set logging level:
|
||||
level = logging.INFO
|
||||
if verbose:
|
||||
level -= 10
|
||||
|
||||
log = logging.getLogger('ipa')
|
||||
log.setLevel(level)
|
||||
|
||||
# Configure console handler
|
||||
console = logging.StreamHandler()
|
||||
console.setFormatter(logging.Formatter(LOGGING_CONSOLE_FORMAT))
|
||||
log.addHandler(console)
|
||||
|
||||
# Configure file handler
|
||||
log_dir = path.dirname(log_file)
|
||||
if not path.isdir(log_dir):
|
||||
try:
|
||||
os.makedirs(log_dir)
|
||||
except OSError:
|
||||
log.warn('Could not create log_dir %r', log_dir)
|
||||
return log
|
||||
file_handler = logging.FileHandler(log_file)
|
||||
file_handler.setFormatter(logging.Formatter(LOGGING_FILE_FORMAT))
|
||||
log.addHandler(file_handler)
|
||||
|
||||
return log
|
||||
|
||||
Reference in New Issue
Block a user