Server IP : 103.169.32.36 / Your IP : 216.73.217.13 Web Server : Apache System : Linux web.dpmptsp 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : apache ( 48) PHP Version : 5.6.40 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/lib/python2.7/site-packages/yum/ |
Upload File : |
| Current File : /usr/lib/python2.7/site-packages/yum/logginglevels.py |
#! /usr/bin/python -tt
# 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; either version 2 of the License, or
# (at your option) any later version.
#
# 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 Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
"""
Custom logging levels for finer-grained logging using python's standard
logging module.
"""
import os
import socket
import sys
import logging
import logging.handlers
INFO_1 = 19
INFO_2 = 18
DEBUG_1 = 9
DEBUG_2 = 8
DEBUG_3 = 7
DEBUG_4 = 6
logging.addLevelName(INFO_1, "INFO_1")
logging.addLevelName(INFO_2, "INFO_2")
logging.addLevelName(DEBUG_1, "DEBUG_1")
logging.addLevelName(DEBUG_2, "DEBUG_2")
logging.addLevelName(DEBUG_3, "DEBUG_3")
logging.addLevelName(DEBUG_4, "DEBUG_4")
# High level to effectively turn off logging.
# For compatibility with the old logging system.
__NO_LOGGING = 100
logging.raiseExceptions = False
from logging.handlers import SysLogHandler as syslog_module
syslog = None
# Mostly borrowed from original yum-updated.py
_syslog_facility_map = { "KERN" : syslog_module.LOG_KERN,
"USER" : syslog_module.LOG_USER,
"MAIL" : syslog_module.LOG_MAIL,
"DAEMON" : syslog_module.LOG_DAEMON,
"AUTH" : syslog_module.LOG_AUTH,
"LPR" : syslog_module.LOG_LPR,
"NEWS" : syslog_module.LOG_NEWS,
"UUCP" : syslog_module.LOG_UUCP,
"CRON" : syslog_module.LOG_CRON,
"LOCAL0" : syslog_module.LOG_LOCAL0,
"LOCAL1" : syslog_module.LOG_LOCAL1,
"LOCAL2" : syslog_module.LOG_LOCAL2,
"LOCAL3" : syslog_module.LOG_LOCAL3,
"LOCAL4" : syslog_module.LOG_LOCAL4,
"LOCAL5" : syslog_module.LOG_LOCAL5,
"LOCAL6" : syslog_module.LOG_LOCAL6,
"LOCAL7" : syslog_module.LOG_LOCAL7,}
def syslogFacilityMap(facility):
if type(facility) == int:
return facility
elif facility.upper() in _syslog_facility_map:
return _syslog_facility_map[facility.upper()]
elif (facility.upper().startswith("LOG_") and
facility[4:].upper() in _syslog_facility_map):
return _syslog_facility_map[facility[4:].upper()]
return _syslog_facility_map["USER"]
def logLevelFromErrorLevel(error_level):
""" Convert an old-style error logging level to the new style. """
error_table = { -1 : __NO_LOGGING, 0 : logging.CRITICAL, 1 : logging.ERROR,
2 : logging.WARNING}
return __convertLevel(error_level, error_table)
def logLevelFromDebugLevel(debug_level):
""" Convert an old-style debug logging level to the new style. """
debug_table = {-5 : __NO_LOGGING,
-4 : logging.CRITICAL, -3 : logging.ERROR, -2 : logging.WARNING,
-1 : __NO_LOGGING, 0 : logging.INFO, 1 : INFO_1, 2 : INFO_2,
3 : logging.DEBUG, 4 : DEBUG_1, 5 : DEBUG_2, 6 : DEBUG_3, 7 : DEBUG_4}
return __convertLevel(debug_level, debug_table)
def __convertLevel(level, table):
""" Convert yum logging levels using a lookup table. """
# Look up level in the table.
try:
new_level = table[level]
except KeyError:
keys = sorted(table.keys())
# We didn't find the level in the table, check if it's smaller
# than the smallest level
if level < keys[0]:
new_level = table[keys[0]]
# Nope. So it must be larger.
else:
new_level = table[keys[-2]]
return new_level
def setDebugLevel(level):
converted_level = logLevelFromDebugLevel(level)
logging.getLogger("yum.verbose").setLevel(converted_level)
def setErrorLevel(level):
converted_level = logLevelFromErrorLevel(level)
logging.getLogger("yum").setLevel(converted_level)
_added_handlers = False
def doLoggingSetup(debuglevel, errorlevel,
syslog_ident=None, syslog_facility=None,
syslog_device='/dev/log'):
"""
Configure the python logger.
errorlevel is optional. If provided, it will override the logging level
provided in the logging config file for error messages.
debuglevel is optional. If provided, it will override the logging level
provided in the logging config file for debug messages.
"""
global _added_handlers
#logging.basicConfig() # this appears to not change anything in our
# logging setup - disabling this b/c of the behaviors in yum ticket 525
# -skvidal
if _added_handlers:
if debuglevel is not None:
setDebugLevel(debuglevel)
if errorlevel is not None:
setErrorLevel(errorlevel)
return
plainformatter = logging.Formatter("%(message)s")
console_stdout = logging.StreamHandler(sys.stdout)
console_stdout.setFormatter(plainformatter)
verbose = logging.getLogger("yum.verbose")
verbose.propagate = False
verbose.addHandler(console_stdout)
console_stderr = logging.StreamHandler(sys.stderr)
console_stderr.setFormatter(plainformatter)
logger = logging.getLogger("yum")
logger.propagate = False
logger.addHandler(console_stderr)
filelogger = logging.getLogger("yum.filelogging")
filelogger.setLevel(logging.INFO)
filelogger.propagate = False
global syslog
if syslog_device:
address = None
if ":" in syslog_device:
address = syslog_device.rsplit(":", 1)
address = (address[0], int(address[1]))
elif os.path.exists(syslog_device):
address = syslog_device
if address:
try:
facil = syslogFacilityMap(syslog_facility or "USER")
syslog = logging.handlers.SysLogHandler(address, facil)
except socket.error:
if syslog is not None:
syslog.close()
else:
setLoggingApp(syslog_ident or "yum")
filelogger.addHandler(syslog)
_added_handlers = True
if debuglevel is not None:
setDebugLevel(debuglevel)
if errorlevel is not None:
setErrorLevel(errorlevel)
def setFileLog(uid, logfile, cleanup=None):
# TODO: When python's logging config parser doesn't blow up
# when the user is non-root, put this in the config file.
# syslog-style log
if uid == 0:
try:
# For installroot etc.
logdir = os.path.dirname(logfile)
if not os.path.exists(logdir):
os.makedirs(logdir, mode=0755)
if not os.path.exists(logfile):
f = open(logfile, 'w')
os.chmod(logfile, 0600) # making sure umask doesn't catch us up
f.close()
filelogger = logging.getLogger("yum.filelogging")
filehandler = logging.FileHandler(logfile)
formatter = logging.Formatter("%(asctime)s %(message)s",
"%b %d %H:%M:%S")
filehandler.setFormatter(formatter)
filelogger.addHandler(filehandler)
if not cleanup is None:
cleanup.append(lambda: filelogger.removeHandler(filehandler))
except IOError:
logging.getLogger("yum").critical('Cannot open logfile %s', logfile)
def setLoggingApp(app):
if syslog:
syslogformatter = logging.Formatter(app + "[%(process)d]: %(message)s")
syslog.setFormatter(syslogformatter)
| N4m3 |
5!z3 |
L45t M0d!f!3d |
0wn3r / Gr0up |
P3Rm!55!0n5 |
0pt!0n5 |
| .. |
-- |
December 21 2023 09:18:24 |
0 / 0 |
0755 |
|
| | | | | |
| Errors.py |
4.265 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| Errors.pyc |
9.084 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| __init__.py |
304.096 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| __init__.pyc |
199.779 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| callbacks.py |
5.64 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| callbacks.pyc |
6.232 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| comps.py |
31.586 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| comps.pyc |
26.872 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| config.py |
49.886 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| config.pyc |
48.018 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| constants.py |
4.516 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| constants.pyc |
3.42 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| depsolve.py |
74.046 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| depsolve.pyc |
46.906 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| drpm.py |
12.851 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| drpm.pyc |
10.834 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| failover.py |
5.005 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| failover.pyc |
5.236 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| fssnapshots.py |
10.159 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| fssnapshots.pyc |
9.752 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| history.py |
61.125 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| history.pyc |
53.306 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| i18n.py |
20.437 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| i18n.pyc |
16.05 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| igroups.py |
9.313 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| igroups.pyc |
10.218 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| logginglevels.py |
7.904 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| logginglevels.pyc |
6.511 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| mdparser.py |
6.258 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| mdparser.pyc |
7.58 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| metalink.py |
9.188 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| metalink.pyc |
8.836 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| misc.py |
39.567 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| misc.pyc |
39.58 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| packageSack.py |
40.786 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| packageSack.pyc |
41.88 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| packages.py |
84.104 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| packages.pyc |
84.514 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| parser.py |
7.973 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| parser.pyc |
6.499 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| pgpmsg.py |
53.5 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| pgpmsg.pyc |
38.268 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| pkgtag_db.py |
4.864 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| pkgtag_db.pyc |
5.061 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| plugins.py |
28.1 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| plugins.pyc |
29.097 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| repoMDObject.py |
11.231 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| repoMDObject.pyc |
9.17 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| repos.py |
16.528 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| repos.pyc |
17.383 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| rpmsack.py |
70.255 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| rpmsack.pyc |
58.355 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| rpmtrans.py |
24.845 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| rpmtrans.pyc |
22.544 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| sqlitesack.py |
69.763 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| sqlitesack.pyc |
53.751 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| sqlutils.py |
6.271 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| sqlutils.pyc |
5.602 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| transactioninfo.py |
33.784 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| transactioninfo.pyc |
30.293 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| update_md.py |
25.9 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| update_md.pyc |
21.722 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| updateinfo.py |
18.29 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| updateinfo.pyc |
16.36 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|
| yumRepo.py |
83.852 KB |
October 01 2020 17:03:44 |
0 / 0 |
0755 |
|
| yumRepo.pyc |
64.827 KB |
October 01 2020 17:03:44 |
0 / 0 |
0644 |
|