Commit 6d02dcee0d294cb6b3d08bf6b70c025cf14934ed
1 parent
8f1f3b5c
olevba: added enable_logging to fix issue #154
Showing
2 changed files
with
16 additions
and
4 deletions
oletools/olevba.py
| ... | ... | @@ -192,8 +192,9 @@ from __future__ import print_function |
| 192 | 192 | # - added keywords for Mac-specific macros (issue #130) |
| 193 | 193 | # 2017-03-08 PL: - fixed absolute imports |
| 194 | 194 | # 2017-03-16 PL: - fixed issues #148 and #149 for option --reveal |
| 195 | +# 2017-05-19 PL: - added enable_logging to fix issue #154 | |
| 195 | 196 | |
| 196 | -__version__ = '0.51dev3' | |
| 197 | +__version__ = '0.51dev8' | |
| 197 | 198 | |
| 198 | 199 | #------------------------------------------------------------------------------ |
| 199 | 200 | # TODO: |
| ... | ... | @@ -347,6 +348,18 @@ def get_logger(name, level=logging.CRITICAL+1): |
| 347 | 348 | log = get_logger('olevba') |
| 348 | 349 | |
| 349 | 350 | |
| 351 | +def enable_logging(): | |
| 352 | + """ | |
| 353 | + Enable logging for this module (disabled by default). | |
| 354 | + This will set the module-specific logger level to NOTSET, which | |
| 355 | + means the main application controls the actual logging level. | |
| 356 | + """ | |
| 357 | + log.setLevel(logging.NOTSET) | |
| 358 | + # Also enable logging in the ppt_parser module: | |
| 359 | + ppt_parser.enable_logging() | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 350 | 363 | #=== EXCEPTIONS ============================================================== |
| 351 | 364 | |
| 352 | 365 | class OlevbaBaseException(Exception): |
| ... | ... | @@ -2522,7 +2535,6 @@ class VBA_Parser(object): |
| 2522 | 2535 | """ |
| 2523 | 2536 | |
| 2524 | 2537 | log.info('Check whether OLE file is PPT') |
| 2525 | - ppt_parser.enable_logging() | |
| 2526 | 2538 | try: |
| 2527 | 2539 | ppt = ppt_parser.PptParser(self.ole_file, fast_fail=True) |
| 2528 | 2540 | for vba_data in ppt.iter_vba_data(): |
| ... | ... | @@ -3317,7 +3329,7 @@ def main(): |
| 3317 | 3329 | |
| 3318 | 3330 | logging.basicConfig(level=LOG_LEVELS[options.loglevel], format='%(levelname)-8s %(message)s') |
| 3319 | 3331 | # enable logging in the modules: |
| 3320 | - log.setLevel(logging.NOTSET) | |
| 3332 | + enable_logging() | |
| 3321 | 3333 | |
| 3322 | 3334 | # Old display with number of items detected: |
| 3323 | 3335 | # print '%-8s %-7s %-7s %-7s %-7s %-7s' % ('Type', 'Macros', 'AutoEx', 'Susp.', 'IOCs', 'HexStr') | ... | ... |
setup.py
| ... | ... | @@ -41,7 +41,7 @@ import os, fnmatch |
| 41 | 41 | #--- METADATA ----------------------------------------------------------------- |
| 42 | 42 | |
| 43 | 43 | name = "oletools" |
| 44 | -version = '0.51dev7' | |
| 44 | +version = '0.51dev8' | |
| 45 | 45 | desc = "Python tools to analyze security characteristics of MS Office and OLE files (also called Structured Storage, Compound File Binary Format or Compound Document File Format), for Malware Analysis and Incident Response #DFIR" |
| 46 | 46 | long_desc = open('oletools/README.rst').read() |
| 47 | 47 | author = "Philippe Lagadec" | ... | ... |