diff --git a/ec2_reaper/aws_lambda.py b/ec2_reaper/aws_lambda.py
index e9fcdd2..e90645d 100644
--- a/ec2_reaper/aws_lambda.py
+++ b/ec2_reaper/aws_lambda.py
@@ -25,10 +25,15 @@ TAG_MATCHER = json.loads(TAG_MATCHER) if isinstance(TAG_MATCHER, strclasses) els
 SLACK_ENDPOINT = os.environ.get('SLACK_ENDPOINT', None)
 
 DEBUG = os.environ.get('DEBUG', True)
+log.debug('startup: got value for DEBUG: {} ({})'.format(DEBUG, type(DEBUG)))
+if isinstance(DEBUG, str):
+    DEBUG = False if DEBUG.lower() == 'false' else True
+
 if DEBUG:
     log.setLevel(logging.DEBUG)
     logging.getLogger('botocore').setLevel(logging.INFO)
     logging.getLogger('boto3').setLevel(logging.INFO)
+    log.debug('startup: debug logging on')
 else:
     log.setLevel(logging.INFO)
     logging.getLogger('botocore').setLevel(logging.WARNING)

lambda function doesn't honor the debug option properly
passed `DEBUG: false` as an env var but it still does NO-OPs and debug logging. the env var is probably being read by python in as a string.
diff --git a/tests/test_lambda_handler.py b/tests/test_lambda_handler.py
index bc153b4..7ad0968 100644
--- a/tests/test_lambda_handler.py
+++ b/tests/test_lambda_handler.py
@@ -2,6 +2,7 @@ import logging
 import json
 import sys
 from datetime import datetime, timedelta
+import os
 
 from ec2_reaper import aws_lambda
 from ec2_reaper import LOCAL_TZ
@@ -10,12 +11,19 @@ logging.basicConfig(level=logging.DEBUG)
 logging.getLogger('botocore').setLevel(logging.INFO)
 logging.getLogger('boto3').setLevel(logging.INFO)
 
+# mock has some weirdness in python 3.3, 3.5, and 3.6
 if sys.version_info < (3, 0) or (sys.version_info >= (3, 5) and
                                  sys.version_info < (3, 6)):
     from mock import patch
 else:
     from unittest.mock import patch
 
+# py 2.7 has reload built in but it's moved around a bit in py3+
+if sys.version_info >= (3, 0) and sys.version_info < (3, 4):
+    from imp import reload
+elif sys.version_info >= (3, 4):
+    from importlib import reload
+
 # when no results, handler should have called reap, *not* called (slack) notify,
 # and should have returned a happy response json obj,
 @patch.object(aws_lambda, 'reap')
@@ -55,3 +63,27 @@ def test_reap_2neg_1pos(mock_notify, mock_reap):
     assert r['statusCode'] == 200
     assert r['body']['log'] == mock_reap_results
     assert r['body']['reaped'] == 1
+
+# env vars come in as strings, so bools like DEBUG need testing
+def test_debug_envvar():
+    from ec2_reaper import aws_lambda as al
+    # true
+    os.environ['DEBUG'] = 'true'
+    reload(al)
+    assert al.DEBUG == True
+    os.environ['DEBUG'] = 'True'
+    reload(al)
+    assert al.DEBUG == True
+
+    # default to safety
+    os.environ['DEBUG'] = 'mooooooooo'
+    reload(al)
+    assert al.DEBUG == True
+
+    # false
+    os.environ['DEBUG'] = 'False'
+    reload(al)
+    assert al.DEBUG == False
+    os.environ['DEBUG'] = 'false'
+    reload(al)
+    assert al.DEBUG == False

pip install -e .[dev]
parse_log_pytest
requirements.txt
pytest tox flake8
3.6
requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs==22.2.0
boto3==1.5.6
botocore==1.8.50
certifi==2021.5.30
charset-normalizer==2.0.12
click==6.7
distlib==0.3.9
docutils==0.18.1
-e git+https://github.com/inhumantsar/python-ec2-reaper.git@d4b0f08b945f95f550149482486c4301f87f3619#egg=ec2_reaper
filelock==3.4.1
flake8==5.0.4
idna==3.10
importlib-metadata==4.2.0
importlib-resources==5.4.0
iniconfig==1.1.1
jmespath==0.10.0
mccabe==0.7.0
packaging==21.3
platformdirs==2.4.0
pluggy==1.0.0
py==1.11.0
pycodestyle==2.9.1
pyflakes==2.5.0
pyparsing==3.1.4
pytest==7.0.1
python-dateutil==2.9.0.post0
pytz==2017.3
requests==2.27.1
s3transfer==0.1.13
six==1.17.0
slacker==0.9.60
toml==0.10.2
tomli==1.2.3
tox==3.28.0
typing_extensions==4.1.1
urllib3==1.26.20
virtualenv==20.16.2
zipp==3.6.0

name: python-ec2-reaper
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=21.2.2=py36h06a4308_0
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - attrs==22.2.0
      - boto3==1.5.6
      - botocore==1.8.50
      - charset-normalizer==2.0.12
      - click==6.7
      - distlib==0.3.9
      - docutils==0.18.1
      - filelock==3.4.1
      - flake8==5.0.4
      - idna==3.10
      - importlib-metadata==4.2.0
      - importlib-resources==5.4.0
      - iniconfig==1.1.1
      - jmespath==0.10.0
      - mccabe==0.7.0
      - packaging==21.3
      - platformdirs==2.4.0
      - pluggy==1.0.0
      - py==1.11.0
      - pycodestyle==2.9.1
      - pyflakes==2.5.0
      - pyparsing==3.1.4
      - pytest==7.0.1
      - python-dateutil==2.9.0.post0
      - pytz==2017.3
      - requests==2.27.1
      - s3transfer==0.1.13
      - six==1.17.0
      - slacker==0.9.60
      - toml==0.10.2
      - tomli==1.2.3
      - tox==3.28.0
      - typing-extensions==4.1.1
      - urllib3==1.26.20
      - virtualenv==20.16.2
      - zipp==3.6.0
prefix: /opt/conda/envs/python-ec2-reaper

tests/test_lambda_handler.py::test_debug_envvar
tests/test_lambda_handler.py::test_reap_no_results tests/test_lambda_handler.py::test_reap_2neg_1pos
ec2_reaper/aws_lambda.py
ec2_reaper/aws_lambda.py