mirror of
https://github.com/Pennyw0rth/NetExec
synced 2026-06-06 16:34:30 +00:00
init log_mode
This commit is contained in:
+2
-1
@@ -16,7 +16,6 @@ from cme.context import Context
|
||||
from concurrent.futures import ThreadPoolExecutor
|
||||
from pprint import pformat
|
||||
from decimal import Decimal
|
||||
import time
|
||||
import asyncio
|
||||
import aioconsole
|
||||
import functools
|
||||
@@ -140,6 +139,8 @@ def main():
|
||||
jitter = None
|
||||
server_port_dict = {'http': 80, 'https': 443, 'smb': 445}
|
||||
current_workspace = config.get('CME', 'workspace')
|
||||
if config.get('CME', 'log_mode') != "False":
|
||||
logger.setup_logfile()
|
||||
|
||||
if args.verbose:
|
||||
setup_debug_logger()
|
||||
|
||||
@@ -3,6 +3,7 @@ workspace = default
|
||||
last_used_db = smb
|
||||
pwn3d_label = Pwn3d!
|
||||
audit_mode =
|
||||
log_mode = False
|
||||
|
||||
[BloodHound]
|
||||
bh_enabled = False
|
||||
|
||||
+17
-14
@@ -2,6 +2,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import logging
|
||||
import os
|
||||
import sys
|
||||
import re
|
||||
from cme.helpers.misc import called_from_cmd_args
|
||||
@@ -33,6 +34,7 @@ class CMEAdapter(logging.LoggerAdapter):
|
||||
def __init__(self, logger_name='CME', extra=None):
|
||||
self.logger = logging.getLogger(logger_name)
|
||||
self.extra = extra
|
||||
self.outputfile = None
|
||||
|
||||
def process(self, msg, kwargs):
|
||||
if self.extra is None:
|
||||
@@ -107,6 +109,16 @@ class CMEAdapter(logging.LoggerAdapter):
|
||||
out = CMEAdapter.message
|
||||
CMEAdapter.message = ''
|
||||
return out
|
||||
|
||||
def setup_logfile(self):
|
||||
formatter = logging.Formatter("%(message)s")
|
||||
self.outputfile = init_log_file()
|
||||
open(self.outputfile, 'x')
|
||||
fileHandler = logging.FileHandler(filename=self.outputfile, mode="a")
|
||||
with fileHandler._open() as f:
|
||||
f.write("> %s\n\n" % " ".join(sys.argv))
|
||||
fileHandler.setFormatter(formatter)
|
||||
self.logger.addHandler(fileHandler)
|
||||
|
||||
def setup_debug_logger():
|
||||
debug_output_string = "{} %(message)s".format(colored('DEBUG', 'magenta', attrs=['bold']))
|
||||
@@ -117,31 +129,22 @@ def setup_debug_logger():
|
||||
root_logger = logging.getLogger()
|
||||
root_logger.handlers = []
|
||||
root_logger.addHandler(streamHandler)
|
||||
#root_logger.addHandler(fileHandler)
|
||||
root_logger.setLevel(logging.DEBUG)
|
||||
return root_logger
|
||||
|
||||
def setup_logger(level=logging.INFO, log_to_file=False, log_prefix=None, logger_name='CME'):
|
||||
def setup_logger(level=logging.INFO, logger_name='CME'):
|
||||
formatter = logging.Formatter("%(message)s")
|
||||
|
||||
if log_to_file:
|
||||
if not log_prefix:
|
||||
log_prefix = 'log'
|
||||
|
||||
log_filename = '{}_{}.log'.format(log_prefix.replace('/', '_'), datetime.now().strftime('%Y-%m-%d'))
|
||||
fileHandler = logging.FileHandler('./logs/{}'.format(log_filename))
|
||||
fileHandler.setFormatter(formatter)
|
||||
|
||||
streamHandler = logging.StreamHandler(sys.stdout)
|
||||
streamHandler.setFormatter(formatter)
|
||||
|
||||
cme_logger = logging.getLogger(logger_name)
|
||||
cme_logger.propagate = False
|
||||
cme_logger.addHandler(streamHandler)
|
||||
|
||||
if log_to_file:
|
||||
cme_logger.addHandler(fileHandler)
|
||||
|
||||
cme_logger.setLevel(level)
|
||||
|
||||
return cme_logger
|
||||
|
||||
def init_log_file():
|
||||
log_filename = os.path.join(os.path.expanduser('~/.cme'), 'logs','full-log_{}.log'.format(datetime.now().strftime('%Y-%m-%d_%H-%M-%S')))
|
||||
return log_filename
|
||||
Reference in New Issue
Block a user