/
usr
/
lib
/
python3
/
dist-packages
/
landscape
/
lib
/
/usr/lib/python3/dist-packages/landscape/lib
mkdir
upload
Name
Size
Mode
Actions
apt/
-
0755
rm
__pycache__/
-
0755
rm
amp.py
21745
0644
edit
dl
rm
bootstrap.py
1416
0644
edit
dl
rm
bpickle.py
6466
0644
edit
dl
rm
cli.py
440
0644
edit
dl
rm
cloud.py
1715
0644
edit
dl
rm
compat.py
564
0644
edit
dl
rm
config.py
12443
0644
edit
dl
rm
disk.py
5011
0644
edit
dl
rm
encoding.py
545
0644
edit
dl
rm
fd.py
751
0644
edit
dl
rm
fetch.py
6647
0644
edit
dl
rm
format.py
959
0644
edit
dl
rm
fs.py
3889
0644
edit
dl
rm
gpg.py
1467
0644
edit
dl
rm
hashlib.py
264
0644
edit
dl
rm
jiffies.py
1621
0644
edit
dl
rm
juju.py
860
0644
edit
dl
rm
lock.py
705
0644
edit
dl
rm
log.py
484
0644
edit
dl
rm
logging.py
2528
0644
edit
dl
rm
lsb_release.py
893
0644
edit
dl
rm
message.py
1955
0644
edit
dl
rm
monitor.py
6281
0644
edit
dl
rm
network.py
9564
0644
edit
dl
rm
persist.py
20995
0644
edit
dl
rm
plugin.py
1787
0644
edit
dl
rm
process.py
6603
0644
edit
dl
rm
reactor.py
8812
0644
edit
dl
rm
schema.py
6118
0644
edit
dl
rm
scriptcontent.py
522
0644
edit
dl
rm
sequenceranges.py
5724
0644
edit
dl
rm
store.py
1408
0644
edit
dl
rm
sysstats.py
7920
0644
edit
dl
rm
tag.py
506
0644
edit
dl
rm
testing.py
24663
0644
edit
dl
rm
timestamp.py
233
0644
edit
dl
rm
twisted_util.py
4476
0644
edit
dl
rm
user.py
1477
0644
edit
dl
rm
versioning.py
1265
0644
edit
dl
rm
vm_info.py
3322
0644
edit
dl
rm
warning.py
394
0644
edit
dl
rm
__init__.py
198
0644
edit
dl
rm
Edit:
/usr/lib/python3/dist-packages/landscape/lib/logging.py
(2528B)
from __future__ import absolute_import import logging import os import os.path import sys FORMAT = '%(asctime)s %(levelname)-8s [%(threadName)-10s] %(message)s' def add_cli_options(parser, level='info', logdir=None): """Add common logging-related CLI options to the given arg parser.""" parser.add_option('-q', '--quiet', default=False, action='store_true', help='Do not log to the standard output.') logdirhelp = 'The directory in which to write log files' if logdir: logdirhelp += ' (default: {!r}).'.format(logdir) parser.add_option('-l', '--log-dir', metavar='FILE', default=logdir, help=logdirhelp) parser.add_option('--log-level', default=level, help='One of debug, info, warning, error or critical.') def init_app_logging(logdir, level='info', progname=None, quiet=False): """Given a log dir, set up logging for an application.""" if progname is None: progname = os.path.basename(sys.argv[0]) level = logging.getLevelName(level.upper()) _init_logging( logging.getLogger(), level, logdir, progname, logging.Formatter(FORMAT), sys.stdout if not quiet else None, ) return logging.getLogger() def _init_logging(logger, level, logdir, logname, formatter, stdout=None): # Set the log level. logger.setLevel(level) # Set up the log file. if not os.path.exists(logdir): os.makedirs(logdir) filename = os.path.join(logdir, logname + '.log') # Set the handlers. handlers = [ logging.FileHandler(filename), ] if stdout: handlers.append(logging.StreamHandler(stdout)) for handler in handlers: logger.addHandler(handler) handler.setFormatter(formatter) def rotate_logs(): """ This closes and reopens the underlying files in the logging module's root logger. If called after logrotate (or something similar) has moved the old log file out of the way, this will start writing to a new new log file... """ for handler in logging.getLogger().handlers: if isinstance(handler, logging.FileHandler): handler.acquire() try: handler.stream.close() handler.stream = open(handler.baseFilename, handler.mode) finally: handler.release() logging.info("Landscape Logs rotated")
Save
cmd:
run