def main()

in src/worker/exporters/node_exporter.py [0:0]


def main():
    '''main function'''
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "--log_level",
        default='INFO',
        help='Specify a log level to use for logging. CRITICAL (0) - \
                        log only critical errors that drastically affect \
                        execution ERROR (1) - Log any error in execution \
                        WARNING (2) - Log all warnings and errors that occur \
                        INFO (3) - Log informational messages about program \
                        execution in addition to warnings and errors DEBUG (4) \
                        - Log debugging information in addition to all')
    parser.add_argument(
        "-p",
        "--port",
        type=int,
        default=None,
        help='Port to export metrics from')
    parser.add_argument(
        "-e",
        "--ethernet_device",
        type=str,
        default='eth0',
        help='Ethernet device to monitor')
    args = parser.parse_args()
    # set up logging
    os.makedirs('/tmp/moneo-worker', exist_ok=True)
    logging.basicConfig(level=get_log_level(args), filename='/tmp/moneo-worker/moneoExporter.log',
                        format='[%(asctime)s] node_exporter-%(levelname)s-%(message)s')
    jobId = None  # set a default job id of None
    try:
        init_config(jobId, args.port, args.ethernet_device)
        init_signal_handler()
        exporter = NodeExporter(FIELD_LIST, config)
        exporter.loop()
    except Exception as e:
        logging.exception('Exception occured during configuration. Message: %s', e)