48 lines
1.3 KiB
Python
Executable File
48 lines
1.3 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import click
|
|
import sys
|
|
import logging
|
|
|
|
from logging.handlers import SysLogHandler
|
|
|
|
from uncloud_cli.commands.vm import vm
|
|
from uncloud_cli.commands.user import user
|
|
from uncloud_cli.commands.host import host
|
|
from uncloud_cli.commands.image import image
|
|
from uncloud_cli.commands.network import network
|
|
from uncloud_cli.helper import exception_handler, NoTracebackStreamHandler
|
|
|
|
|
|
@click.group()
|
|
def entry_point():
|
|
pass
|
|
|
|
|
|
if __name__ == "__main__":
|
|
sys.excepthook = exception_handler
|
|
|
|
# Setting up root logger
|
|
logger = logging.getLogger()
|
|
logger.setLevel(logging.DEBUG)
|
|
|
|
syslog_handler = SysLogHandler(address='/dev/log')
|
|
syslog_handler.setLevel(logging.DEBUG)
|
|
syslog_formatter = logging.Formatter('%(pathname)s:%(lineno)d -- %(levelname)-8s %(message)s')
|
|
syslog_handler.setFormatter(syslog_formatter)
|
|
|
|
stream_handler = NoTracebackStreamHandler()
|
|
stream_handler.setLevel(logging.INFO)
|
|
stream_formatter = logging.Formatter('%(message)s')
|
|
stream_handler.setFormatter(stream_formatter)
|
|
|
|
logger.addHandler(syslog_handler)
|
|
logger.addHandler(stream_handler)
|
|
|
|
entry_point.add_command(vm)
|
|
entry_point.add_command(user)
|
|
entry_point.add_command(image)
|
|
entry_point.add_command(host)
|
|
entry_point.add_command(network)
|
|
entry_point()
|