Logging to stdout, syslog or file

This commit is contained in:
System User 2011-02-22 15:46:42 +01:00
parent bb7f36fc59
commit a4024f8183
3 changed files with 14 additions and 4 deletions

5
config
View File

@ -53,7 +53,10 @@ LDAPAppend = ou=users,dc=exmaple,dc=dom
folder = ~/.config/radicale/calendars folder = ~/.config/radicale/calendars
[Logging] [Logging]
# Logging filename # Logging type
# Value: syslog | file | stdout
type = file
# Logging filename (if needed)
logfile = ~/.config/radicale/radicale.log logfile = ~/.config/radicale/radicale.log
# Log facility 10: DEBUG, 20: INFO, 30 WARNING, 40 ERROR, 50 CRITICAL # Log facility 10: DEBUG, 20: INFO, 30 WARNING, 40 ERROR, 50 CRITICAL
facility = 50 facility = 50

View File

@ -56,7 +56,7 @@ INITIAL_CONFIG = {
"storage": { "storage": {
"folder": os.path.expanduser("~/.config/radicale/calendars")}, "folder": os.path.expanduser("~/.config/radicale/calendars")},
"logging": { "logging": {
"logfile": os.path.expanduser("~/.config/radicale/radicale.log"), "type": "syslog",
"facility": 10}, "facility": 10},
"authLdap": { "authLdap": {
"LDAPServer": "127.0.0.1", "LDAPServer": "127.0.0.1",

View File

@ -1,6 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import logging, sys import logging, sys
from logging.handlers import SysLogHandler
from radicale import config from radicale import config
class log: class log:
@ -8,8 +9,14 @@ class log:
self.logger=logging.getLogger("radicale") self.logger=logging.getLogger("radicale")
self.logger.setLevel(config.get("logging", "facility")) self.logger.setLevel(config.get("logging", "facility"))
handler=logging.FileHandler(config.get("logging", "logfile")) loggingType=config.get("logging", "type")
if loggingType == "stdout":
handler=logging.StreamHandler(sys.stdout)
elif loggingType == "file":
handler=logging.FileHandler(config.get("logging", "logfile"))
else:
handler=logging.handlers.SysLogHandler("/dev/log")
formatter = logging.Formatter('%(name)s %(asctime)s %(levelname)s %(message)s') formatter = logging.Formatter('%(name)s %(asctime)s %(levelname)s %(message)s')
handler.setFormatter(formatter) handler.setFormatter(formatter)