summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Logger.py
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2012-08-15 11:20:18 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2012-08-15 11:20:18 -0400
commitf2f5e9c8a8be6970c2683045ef9993ba60a0d63b (patch)
treecc4a3df003710ed839f35f24b2810fbbdfd03eff /src/lib/Bcfg2/Logger.py
parentd1073cc867ffc96952de4dddc5fb30d51fd5bf4e (diff)
downloadbcfg2-f2f5e9c8a8be6970c2683045ef9993ba60a0d63b.tar.gz
bcfg2-f2f5e9c8a8be6970c2683045ef9993ba60a0d63b.tar.bz2
bcfg2-f2f5e9c8a8be6970c2683045ef9993ba60a0d63b.zip
made logging to syslog configurable and default for all logging
Diffstat (limited to 'src/lib/Bcfg2/Logger.py')
-rw-r--r--src/lib/Bcfg2/Logger.py32
1 files changed, 15 insertions, 17 deletions
diff --git a/src/lib/Bcfg2/Logger.py b/src/lib/Bcfg2/Logger.py
index 903209ac3..26c1d52f6 100644
--- a/src/lib/Bcfg2/Logger.py
+++ b/src/lib/Bcfg2/Logger.py
@@ -126,20 +126,15 @@ class FragmentingSysLogHandler(logging.handlers.SysLogHandler):
"""
pass
-
-def add_console_handler(level):
+def add_console_handler(level=logging.DEBUG):
"""Add a logging handler that logs at a level to sys.stdout."""
console = logging.StreamHandler(sys.stdout)
- if level is True:
- console.setLevel(logging.DEBUG)
- else:
- console.setLevel(level)
+ console.setLevel(level)
# tell the handler to use this format
console.setFormatter(TermiosFormatter())
logging.root.addHandler(console)
-
-def add_syslog_handler(procname, syslog_facility):
+def add_syslog_handler(procname, syslog_facility, level=logging.DEBUG):
"""Add a logging handler that logs as procname to syslog_facility."""
try:
try:
@@ -150,7 +145,7 @@ def add_syslog_handler(procname, syslog_facility):
syslog = FragmentingSysLogHandler(procname,
('localhost', 514),
syslog_facility)
- syslog.setLevel(logging.DEBUG)
+ syslog.setLevel(level)
syslog.setFormatter(logging.Formatter('%(name)s[%(process)d]: %(message)s'))
logging.root.addHandler(syslog)
except socket.error:
@@ -158,15 +153,13 @@ def add_syslog_handler(procname, syslog_facility):
except:
print("Failed to activate syslogging")
-
-def add_file_handler(to_file):
+def add_file_handler(to_file, level=logging.DEBUG):
"""Add a logging handler that logs to to_file."""
filelog = logging.FileHandler(to_file)
- filelog.setLevel(logging.DEBUG)
+ filelog.setLevel(level)
filelog.setFormatter(logging.Formatter('%(asctime)s %(name)s[%(process)d]: %(message)s'))
logging.root.addHandler(filelog)
-
def setup_logging(procname, to_console=True, to_syslog=True,
syslog_facility='daemon', level=0, to_file=None):
"""Setup logging for Bcfg2 software."""
@@ -174,11 +167,16 @@ def setup_logging(procname, to_console=True, to_syslog=True,
return
if to_console:
- add_console_handler(to_console)
+ if to_console == True:
+ clvl = min(logging.WARNING, level)
+ else:
+ clvl = min(to_console, level)
+ add_console_handler(clvl)
if to_syslog:
- add_syslog_handler(procname, syslog_facility)
+ slvl = min(level, logging.INFO)
+ add_syslog_handler(procname, syslog_facility, level=slvl)
if to_file is not None:
- add_file_handler(to_file)
+ add_file_handler(to_file, level=level)
- logging.root.setLevel(level)
+ logging.root.setLevel(logging.DEBUG)
logging.already_setup = True