summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Andres Granados <jgranado@redhat.com>2008-01-16 11:42:37 +0100
committerJoel Andres Granados <jgranado@redhat.com>2008-01-16 11:42:37 +0100
commit7c8b79f848a0eca3ab4c3467509791d46e7dd5af (patch)
tree2f6e4ea96bbe5d8ced53dee0fb75bc5c6a488109
parentcda9627f1a4e177b81bbf9bb55e78ab2918fc38e (diff)
downloadfirstaidkit-7c8b79f848a0eca3ab4c3467509791d46e7dd5af.tar.gz
firstaidkit-7c8b79f848a0eca3ab4c3467509791d46e7dd5af.tar.xz
firstaidkit-7c8b79f848a0eca3ab4c3467509791d46e7dd5af.zip
Log the pluginsystem stuff ot a file.
Put the Logger in the __builtin__. Use Config object to initialize the default values.
-rwxr-xr-xfirstaidkit5
-rw-r--r--pyfirstaidkit/__init__.py20
-rw-r--r--pyfirstaidkit/configuration.py51
-rw-r--r--pyfirstaidkit/interpret.py2
-rw-r--r--pyfirstaidkit/plugins.py2
5 files changed, 41 insertions, 39 deletions
diff --git a/firstaidkit b/firstaidkit
index e917c45..90b25e5 100755
--- a/firstaidkit
+++ b/firstaidkit
@@ -22,6 +22,7 @@ from threading import Thread
from pyfirstaidkit import Tasker
from pyfirstaidkit import Config
from pyfirstaidkit import reporting
+from pyfirstaidkit import FAKLogger
class Flags:
print_config = False
@@ -108,9 +109,11 @@ if __name__=="__main__":
Config.lock()
+ # Now that the config is locked, initialize log for plugin system.
+ FAKLogger(Config)
singlerun = Tasker(Config)
-
+
outputThread = Output(singlerun.reporting())
outputThread.start()
diff --git a/pyfirstaidkit/__init__.py b/pyfirstaidkit/__init__.py
index 6a31164..a92e797 100644
--- a/pyfirstaidkit/__init__.py
+++ b/pyfirstaidkit/__init__.py
@@ -17,5 +17,23 @@
from interpret import Tasker
from configuration import Config
-from log import Logger
+#from log import Logger
+import logging
+import __builtin__
+import sys
+
+class FAKLogger:
+ """Describes the logger that will be used only by the pluginsystem.
+
+ When instanciated it will put the logger in builtins so it is reachable
+ from everywhere in the code. """
+ def __init__(self, config):
+ Logger = logging.getLogger("firstaidkit")
+ Logger.setLevel(logging.DEBUG)
+ if config.log.method == "stdout":
+ Logger.addHandler(logging.StreamHandler(sys.stdout))
+ else:
+ # if nothing else matches we just put it into the file.
+ Logger.addHandler(logging.FileHandler(config.log.filename))
+ __builtin__.Logger = Logger
diff --git a/pyfirstaidkit/configuration.py b/pyfirstaidkit/configuration.py
index d439a5f..1f1194d 100644
--- a/pyfirstaidkit/configuration.py
+++ b/pyfirstaidkit/configuration.py
@@ -26,44 +26,25 @@ else:
cfgfile = ["/etc/firstaidkit.conf", os.environ["HOME"]+"/.firstaidkit.conf"]
+def createDefaultConfig(config):
+ """Create the default config with the object."""
+ config.system.root = "/mnt/sysimage"
+ config.operation.mode = "auto"
+ config.operation.help = "False"
+ config.operation.gui = "console"
+ config.operation.verbose = "False"
+ config.operation.gui = "console"
+ config.log.method = "file"
+ config.log.filename = "/var/log/firstaidkit.log"
-def createDefaultConfig():
#
# Look for the place where the plugins lie.
#
- if os.path.exists("/usr/lib64"):
- # Then the plugins must be there
- libdir="lib64"
- elif os.path.exists("/usr/lib"):
- # Lets try this one
- libdir="lib"
- else:
- # Something is wrong
- raise
-
- #
- # Put the default file together.
- #
- return """
-[system]
-root = /mnt/sysimage
-
-[plugin]
-path = /usr/%s/firstaidkit-plugins
-disabled =
-
-[operation]
-mode = auto
-help = False
-verbose = False
-gui = console
-
-[log]
-method = stdout
-""" % (libdir,)
-
-defaultconfig = createDefaultConfig()
-
+ if os.path.exists("/usr/lib64"): libdir="lib64"
+ elif os.path.exists("/usr/lib"): libdir="lib"
+ else: raise
+ config.plugin.path = "/usr/%s/firstaidkit-plugins" % libdir
+ config.plugin.disabled = ""
class LockedError(Exception):
pass
@@ -118,7 +99,7 @@ class FAKConfig(ConfigParser.SafeConfigParser, FAKConfigMixIn):
pass
Config = FAKConfig()
-Config.readfp(StringIO(defaultconfig), "<default>")
+createDefaultConfig(Config)
Config.read(cfgfile)
diff --git a/pyfirstaidkit/interpret.py b/pyfirstaidkit/interpret.py
index da5671a..888756c 100644
--- a/pyfirstaidkit/interpret.py
+++ b/pyfirstaidkit/interpret.py
@@ -15,7 +15,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-from log import Logger
+#from log import Logger
from plugins import PluginSystem
from reporting import Reports, TASKER
import logging
diff --git a/pyfirstaidkit/plugins.py b/pyfirstaidkit/plugins.py
index a82743f..5d4903a 100644
--- a/pyfirstaidkit/plugins.py
+++ b/pyfirstaidkit/plugins.py
@@ -21,7 +21,7 @@ from errors import *
from copy import copy,deepcopy
import FirstAidKit
-from log import Logger
+#from log import Logger
import imp
import os