create an INFO level log file too, unconditionally include it in error reports
This commit is contained in:
parent
7a447c7e38
commit
d08cce4970
|
@ -109,7 +109,7 @@ def main():
|
||||||
LOGDIR = ".subiquity"
|
LOGDIR = ".subiquity"
|
||||||
if opts.snaps_from_examples is None:
|
if opts.snaps_from_examples is None:
|
||||||
opts.snaps_from_examples = True
|
opts.snaps_from_examples = True
|
||||||
LOGFILE = setup_logger(dir=LOGDIR)
|
logfiles = setup_logger(dir=LOGDIR)
|
||||||
|
|
||||||
logger = logging.getLogger('subiquity')
|
logger = logging.getLogger('subiquity')
|
||||||
logger.info("Starting SUbiquity v{}".format(VERSION))
|
logger.info("Starting SUbiquity v{}".format(VERSION))
|
||||||
|
@ -142,7 +142,10 @@ def main():
|
||||||
|
|
||||||
subiquity_interface = Subiquity(opts, block_log_dir)
|
subiquity_interface = Subiquity(opts, block_log_dir)
|
||||||
|
|
||||||
subiquity_interface.note_file_for_apport("InstallerLog", LOGFILE)
|
subiquity_interface.note_file_for_apport(
|
||||||
|
"InstallerLog", logfiles['debug'])
|
||||||
|
subiquity_interface.note_file_for_apport(
|
||||||
|
"InstallerLogInfo", logfiles['info'])
|
||||||
|
|
||||||
subiquity_interface.run()
|
subiquity_interface.run()
|
||||||
|
|
||||||
|
|
|
@ -215,7 +215,11 @@ class ErrorReport(metaclass=urwid.MetaSignals):
|
||||||
"Kind": self.kind.value
|
"Kind": self.kind.value
|
||||||
}
|
}
|
||||||
for k, v in self.pr.items():
|
for k, v in self.pr.items():
|
||||||
if len(v) < 1024 or k in {"Traceback", "ProcCpuinfoMinimal"}:
|
if len(v) < 1024 or k in {
|
||||||
|
"InstallerLogInfo",
|
||||||
|
"Traceback",
|
||||||
|
"ProcCpuinfoMinimal",
|
||||||
|
}:
|
||||||
for_upload[k] = v
|
for_upload[k] = v
|
||||||
else:
|
else:
|
||||||
log.debug("dropping %s of length %s", k, len(v))
|
log.debug("dropping %s of length %s", k, len(v))
|
||||||
|
|
|
@ -19,21 +19,28 @@ import os
|
||||||
|
|
||||||
def setup_logger(dir):
|
def setup_logger(dir):
|
||||||
os.makedirs(dir, exist_ok=True)
|
os.makedirs(dir, exist_ok=True)
|
||||||
nopid_file = os.path.join(dir, "subiquity-debug.log")
|
|
||||||
LOGFILE = "{}.{}".format(nopid_file, os.getpid())
|
|
||||||
handler = logging.FileHandler(LOGFILE, mode='w')
|
|
||||||
# os.symlink cannot replace an existing file or symlink so create
|
|
||||||
# it and then rename it over.
|
|
||||||
tmplink = LOGFILE + ".link"
|
|
||||||
os.symlink(os.path.basename(LOGFILE), tmplink)
|
|
||||||
os.rename(tmplink, nopid_file)
|
|
||||||
|
|
||||||
handler.setLevel(logging.DEBUG)
|
|
||||||
handler.setFormatter(
|
|
||||||
logging.Formatter(
|
|
||||||
"%(asctime)s %(levelname)s %(name)s:%(lineno)d %(message)s"))
|
|
||||||
|
|
||||||
logger = logging.getLogger("")
|
logger = logging.getLogger("")
|
||||||
logger.setLevel(logging.DEBUG)
|
logger.setLevel(logging.DEBUG)
|
||||||
logger.addHandler(handler)
|
|
||||||
return LOGFILE
|
r = {}
|
||||||
|
|
||||||
|
for level in 'info', 'debug':
|
||||||
|
nopid_file = os.path.join(dir, "subiquity-{}.log".format(level))
|
||||||
|
logfile = "{}.{}".format(nopid_file, os.getpid())
|
||||||
|
handler = logging.FileHandler(logfile, mode='w')
|
||||||
|
# os.symlink cannot replace an existing file or symlink so create
|
||||||
|
# it and then rename it over.
|
||||||
|
tmplink = logfile + ".link"
|
||||||
|
os.symlink(os.path.basename(logfile), tmplink)
|
||||||
|
os.rename(tmplink, nopid_file)
|
||||||
|
|
||||||
|
handler.setLevel(getattr(logging, level.upper()))
|
||||||
|
handler.setFormatter(
|
||||||
|
logging.Formatter(
|
||||||
|
"%(asctime)s %(levelname)s %(name)s:%(lineno)d %(message)s"))
|
||||||
|
|
||||||
|
logger.addHandler(handler)
|
||||||
|
r[level] = logfile
|
||||||
|
|
||||||
|
return r
|
||||||
|
|
Loading…
Reference in New Issue