# import time import traceback from rhn.i18n import ustr, sstr from up2date_client import config class Log: """ attempt to log all interesting stuff, namely, anything that hits the network any error messages, package installs, etc """ # " emacs sucks def __init__(self): self.app = "up2date" self.cfg = config.initUp2dateConfig() self.log_info = '' def set_app_name(self, name): self.app = str(name) def log_debug(self, *args): if self.cfg["debug"] > 1: self.log_me("D: ", *args) def log_me(self, *args): """General logging function. Eg: log_me("I am a banana.") """ self.log_info = "[%s] %s" % (time.ctime(time.time()), self.app) s = u"" for i in args: # we really need unicode(str(i)) here, because i can be anything # from string or int to list, dict or even class i = ustr(str(i)) s += i if self.cfg["debug"] > 1: print(s) self.write_log(s) def trace_me(self): self.log_info = "[%s] %s" % (time.ctime(time.time()), self.app) x = traceback.extract_stack() msg = ''.join(traceback.format_list(x)) self.write_log(msg) def log_exception(self, logtype, value, tb): self.log_info = "[%s] %s" % (time.ctime(time.time()), self.app) output = ["\n"] # Accumulate the strings in a list output.append("Traceback (most recent call last):\n") output = output + traceback.format_list(traceback.extract_tb(tb)) output.append("%s: %s\n" % (logtype, value)) self.write_log("".join(output)) def write_log(self, s): log_name = self.cfg["logFile"] or "/var/log/up2date" log_file = open(log_name, 'a') msg = u"%s %s\n" % (ustr(self.log_info), ustr(s)) log_file.write(sstr(msg)) log_file.flush() log_file.close() def initLog(): global log try: log = log except NameError: log = None if log == None: log = Log() return log
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
__init__.py | File | 0 B | 0644 |
|
capabilities.py | File | 7.28 KB | 0644 |
|
cldetect.py | File | 2.97 KB | 0644 |
|
clientCaps.py | File | 2.16 KB | 0644 |
|
clpwd.py | File | 3.56 KB | 0644 |
|
config.py | File | 12.5 KB | 0644 |
|
debUtils.py | File | 2.73 KB | 0644 |
|
getMethod.py | File | 4.2 KB | 0644 |
|
haltree.py | File | 4.53 KB | 0644 |
|
hardware.py | File | 31.91 KB | 0644 |
|
hardware_gudev.py | File | 12.89 KB | 0644 |
|
hardware_hal.py | File | 11.32 KB | 0644 |
|
hardware_udev.py | File | 12.99 KB | 0644 |
|
pkgUtils.py | File | 295 B | 0644 |
|
pkgplatform.py | File | 309 B | 0644 |
|
pmPlugin.py | File | 2.79 KB | 0644 |
|
rhnChannel.py | File | 4.4 KB | 0644 |
|
rhnHardware.py | File | 328 B | 0644 |
|
rhnPackageInfo.py | File | 2.21 KB | 0644 |
|
rhncli.py | File | 9.12 KB | 0644 |
|
rhnreg.py | File | 32.72 KB | 0644 |
|
rhnreg_constants.py | File | 18.13 KB | 0644 |
|
rhnserver.py | File | 8.66 KB | 0644 |
|
rpcServer.py | File | 10.96 KB | 0644 |
|
rpmUtils.py | File | 5.2 KB | 0644 |
|
transaction.py | File | 4.09 KB | 0644 |
|
tui.py | File | 43.7 KB | 0644 |
|
up2dateAuth.py | File | 9.29 KB | 0644 |
|
up2dateErrors.py | File | 10.26 KB | 0644 |
|
up2dateLog.py | File | 2.06 KB | 0644 |
|
up2dateUtils.py | File | 5.06 KB | 0644 |
|