diff --git a/volatility/framework/automagic/stacker.py b/volatility/framework/automagic/stacker.py index fea4086d3..e5a56ca29 100644 --- a/volatility/framework/automagic/stacker.py +++ b/volatility/framework/automagic/stacker.py @@ -8,6 +8,7 @@ once a layer successfully stacks on top of the existing layers, it is removed fr """ import logging +import traceback import typing import volatility @@ -85,7 +86,9 @@ class LayerStacker(interfaces.automagic.AutomagicInterface): break except Exception as excp: # Stacking exceptions are likely only of interest to developers, so the lowest level of logging + fulltrace = traceback.TracebackException.from_exception(excp).format(chain = True) vollog.log(constants.LOGLEVEL_VVV, "Exception during stacking: {}".format(str(excp))) + vollog.log(constants.LOGLEVEL_VVVV, "\n".join(fulltrace)) else: stacked = False if new_layer and stacker_cls: diff --git a/volatility/framework/constants/__init__.py b/volatility/framework/constants/__init__.py index b03e11dba..76a8f12fb 100644 --- a/volatility/framework/constants/__init__.py +++ b/volatility/framework/constants/__init__.py @@ -18,6 +18,7 @@ DISABLE_MULTITHREADED_SCANNING = False LOGLEVEL_V = 9 LOGLEVEL_VV = 8 LOGLEVEL_VVV = 7 +LOGLEVEL_VVVV = 6 if sys.platform == 'windows': CACHE_PATH = os.path.join(os.environ.get("APPDATA", os.path.expanduser("~")), "volatility3")