# Copyright 2015 Canonical, Ltd. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, version 3. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. import grp import logging import os from subiquitycore.file_util import _DEF_PERMS, _DEF_GROUP def setup_logger(dir, base='subiquity'): os.makedirs(dir, exist_ok=True) if os.getuid() == 0: os.chmod(dir, 0o750) os.chown(dir, -1, grp.getgrnam(_DEF_GROUP).gr_gid) logger = logging.getLogger("") logger.setLevel(logging.DEBUG) r = {} for level in 'info', 'debug': nopid_file = os.path.join(dir, "{}-{}.log".format(base, level)) logfile = "{}.{}".format(nopid_file, os.getpid()) handler = logging.FileHandler(logfile) os.chmod(logfile, _DEF_PERMS) if os.getuid() == 0: os.chown(logfile, -1, grp.getgrnam(_DEF_GROUP).gr_gid) # 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
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
controllers | Folder | 0755 |
|
|
models | Folder | 0755 |
|
|
testing | Folder | 0755 |
|
|
tests | Folder | 0755 |
|
|
ui | Folder | 0755 |
|
|
__init__.py | File | 710 B | 0644 |
|
async_helpers.py | File | 2.27 KB | 0644 |
|
context.py | File | 4.42 KB | 0644 |
|
controller.py | File | 1.68 KB | 0644 |
|
controllerset.py | File | 1.9 KB | 0644 |
|
core.py | File | 4.5 KB | 0644 |
|
file_util.py | File | 1.67 KB | 0644 |
|
i18n.py | File | 1.7 KB | 0644 |
|
log.py | File | 1.8 KB | 0644 |
|
lsb_release.py | File | 947 B | 0644 |
|
netplan.py | File | 5.34 KB | 0644 |
|
palette.py | File | 4.53 KB | 0644 |
|
prober.py | File | 1.96 KB | 0644 |
|
pubsub.py | File | 1.22 KB | 0644 |
|
screen.py | File | 4.9 KB | 0644 |
|
snapd.py | File | 6.1 KB | 0644 |
|
ssh.py | File | 3.54 KB | 0644 |
|
tui.py | File | 12.98 KB | 0644 |
|
tuicontroller.py | File | 3.38 KB | 0644 |
|
utils.py | File | 5.71 KB | 0644 |
|
view.py | File | 3.35 KB | 0644 |
|