Esempio n. 1
0
def init_logger(name, level=None):
    formatter = logging.Formatter("%(asctime)s [%(name)s] %(levelname)s: %(message)s")

    if name == "cuckoo.log":
        l = logging.handlers.WatchedFileHandler(cwd("log", "cuckoo.log"))
        l.setFormatter(formatter)
        l.setLevel(level)

    if name == "cuckoo.json":
        j = JsonFormatter()
        l = logging.handlers.WatchedFileHandler(cwd("log", "cuckoo.json"))
        l.setFormatter(j)
        l.addFilter(j)

    if name == "console":
        l = ConsoleHandler()
        l.setFormatter(formatter)
        l.setLevel(level)

    if name == "database":
        l = DatabaseHandler()
        l.setLevel(logging.ERROR)

    if name == "task":
        l = TaskHandler()
        l.setFormatter(formatter)

    if name.startswith("process-") and name.endswith(".json"):
        j = JsonFormatter()
        l = logging.handlers.WatchedFileHandler(cwd("log", name))
        l.setFormatter(j)
        l.addFilter(j)

    _loggers[name] = l
    logging.getLogger().addHandler(l)
Esempio n. 2
0
def task_log_start(task_id):
    """Associate a thread with a task."""
    _tasks_lock.acquire()
    try:
        if task_id not in _task_threads:
            task_path = cwd(analysis=task_id)
            if not os.path.exists(task_path):
                return

            _task_threads[task_id] = []
            fp = open(os.path.join(task_path, "cuckoo.log"), "a+b")
            _tasks[task_key()] = (task_id, fp)
        else:
            existing_key = _task_threads[task_id][0]
            _tasks[task_key()] = _tasks[existing_key]

        _task_threads[task_id].append(task_key())
    finally:
        _tasks_lock.release()