403Webshell
Server IP : 15.235.198.142  /  Your IP : 216.73.216.155
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /snap/core24/current/lib/python3/dist-packages/cloudinit/log/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /snap/core24/current/lib/python3/dist-packages/cloudinit/log/log_util.py
import logging
import os
import sys

from cloudinit.performance import timed

LOG = logging.getLogger(__name__)


def logexc(
    log, msg, *args, log_level: int = logging.WARNING, exc_info=True
) -> None:
    log.log(log_level, msg, *args)
    log.debug(msg, exc_info=exc_info, *args)


@timed("Writing to console")
def write_to_console(conpath, text):
    with open(conpath, "w") as wfh:
        wfh.write(text)
        wfh.flush()


def multi_log(
    text,
    console=True,
    stderr=True,
    log=None,
    log_level=logging.DEBUG,
    fallback_to_stdout=True,
):
    if stderr:
        sys.stderr.write(text)
    if console:
        conpath = "/dev/console"
        writing_to_console_worked = False
        if os.path.exists(conpath):
            try:
                write_to_console(conpath, text)
                writing_to_console_worked = True
            except OSError:
                console_error = "Failed to write to /dev/console"
                sys.stdout.write(f"{console_error}\n")
                if log:
                    log.log(logging.WARNING, console_error)

        if fallback_to_stdout and not writing_to_console_worked:
            # A container may lack /dev/console (arguably a container bug).
            # Additionally, /dev/console may not be writable to on a VM (again
            # likely a VM bug or virtualization bug).
            #
            # If either of these is the case, then write output to stdout.
            # This will result in duplicate stderr and stdout messages if
            # stderr was True.
            #
            # even though systemd might have set up output to go to
            # /dev/console, the user may have configured elsewhere via
            # cloud-config 'output'.  If there is /dev/console, messages will
            # still get there.
            sys.stdout.write(text)
    if log:
        if text[-1] == "\n":
            log.log(log_level, text[:-1])
        else:
            log.log(log_level, text)


def error(msg, rc=1, fmt="Error:\n{}", sys_exit=False):
    r"""Print error to stderr and return or exit

    @param msg: message to print
    @param rc: return code (default: 1)
    @param fmt: format string for putting message in (default: 'Error:\n {}')
    @param sys_exit: exit when called (default: false)
    """
    print(fmt.format(msg), file=sys.stderr)
    if sys_exit:
        sys.exit(rc)
    return rc

Youez - 2016 - github.com/yon3zu
LinuXploit