403Webshell
Server IP : 3.96.16.70  /  Your IP : 216.73.216.15
Web Server : Apache
System : Linux ip-172-31-26-103.ca-central-1.compute.internal 6.1.163-186.299.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Feb 24 16:35:42 UTC 2026 x86_64
User : ec2-user ( 1000)
PHP Version : 8.4.18
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3.9/site-packages/cfnbootstrap/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3.9/site-packages/cfnbootstrap/__init__.py
# ==============================================================================
# Copyright 2011 Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================


import logging.config
import os.path
import sys
import stat
import os
from io import StringIO


class NullHandler(logging.Handler):
    def emit(self, record):
        pass


_config = """[loggers]
keys=root,cfninit,cfnclient,cfnhup,wire,cmd
[handlers]
keys=%(all_handlers)s,null
[formatters]
keys=amzn,amzn_cmd
[logger_root]
level=NOTSET
handlers=%(root_handler)s
[logger_cfninit]
level=NOTSET
handlers=%(root_handler)s
qualname=cfn.init
propagate=0
[logger_wire]
level=NOTSET
handlers=%(wire_handler)s
qualname=wire
propagate=0
[logger_cfnhup]
level=NOTSET
handlers=%(root_handler)s
qualname=cfn.hup
propagate=0
[logger_cfnclient]
level=NOTSET
handlers=%(root_handler)s
qualname=cfn.client
propagate=0
[logger_cmd]
level=NOTSET
handlers=%(cmd_handler)s
qualname=cfn.init.cmd
propagate=0
[handler_default]
class=handlers.RotatingFileHandler
level=%(conf_level)s
formatter=amzn
args=('%(conf_file)s', 'a', 5242880, 5, 'UTF-8')
[handler_wire]
class=handlers.RotatingFileHandler
level=DEBUG
formatter=amzn
args=('%(wire_file)s', 'a', 5242880, 5, 'UTF-8')
[handler_null]
class=cfnbootstrap.NullHandler
args=()
[handler_cmd]
class=handlers.RotatingFileHandler
level=DEBUG
formatter=amzn_cmd
args=('%(cmd_file)s', 'a', 5242880, 5, 'UTF-8')
[handler_tostderr]
class=StreamHandler
level=%(conf_level)s
formatter=amzn
args=(sys.stderr,)
[formatter_amzn]
format=%(asctime)s [%(levelname)s] %(message)s
datefmt=
class=logging.Formatter
[formatter_amzn_cmd]
format=%(asctime)s P%(process)d [%(levelname)s] %(message)s
datefmt=
class=logging.Formatter
"""


def resetGroupWorldWritable(fullname):
    current_file_mode = stat.S_IMODE(os.stat(fullname).st_mode)
    # reset group and world writable attribute
    current_file_mode = current_file_mode & 0o755
    os.chmod(fullname, current_file_mode)


def _getLogFile(log_dir, filename):
    if log_dir:
        return os.path.join(log_dir, filename)
    if os.name == 'nt':
        logdir = os.path.expandvars(r'${SystemDrive}\cfn\log')
        if not os.path.exists(logdir):
            os.makedirs(logdir)
        return logdir + os.path.sep + filename
    return '/var/log/%s' % filename


def configureLogging(level='INFO', quiet=False, filename='cfn-init.log', log_dir=None, wire_log=True, cmd_log=True):

    output_file = _getLogFile(log_dir, filename)

    config = {'conf_level': level,
              'root_handler': 'default',
              'conf_file': output_file}
    all_handlers = ["default"]

    if wire_log:
        wire_file = _getLogFile(log_dir, 'cfn-wire.log')
        config['wire_file'] = wire_file
        config['wire_handler'] = 'wire'
        all_handlers.append("wire")
    else:
        config['wire_handler'] = 'null'

    if cmd_log:
        cmd_file = _getLogFile(log_dir, 'cfn-init-cmd.log')
        config['cmd_file'] = cmd_file
        config['cmd_handler'] = 'cmd'
        all_handlers.append("cmd")
    else:
        config['cmd_handler'] = 'null'

    config['all_handlers'] = ','.join(all_handlers)

    try:
        logging.config.fileConfig(StringIO(_config), config)
        # make sure any generated log files are not world or group writable
        resetGroupWorldWritable(output_file)
        if wire_log:
            resetGroupWorldWritable(wire_file)
        if cmd_log:
            resetGroupWorldWritable(cmd_file)
    except IOError:
        config['all_handlers'] = 'tostderr'
        config['root_handler'] = 'tostderr'
        config['wire_handler'] = 'null'
        config['cmd_handler'] = 'null'
        if not quiet:
            print("Could not open {} for logging.  Using stderr instead.".format(
                output_file), file=sys.stderr)
        logging.config.fileConfig(StringIO(_config), config)

Youez - 2016 - github.com/yon3zu
LinuXploit