diff --git a/rc_util.py b/rc_util.py
index 946c560e2a5075bde3b0101d3d504b7b62b1bd33..0e7c4c1e6ec7d0cba4cc7370cf35370efa7f7354 100644
--- a/rc_util.py
+++ b/rc_util.py
@@ -1,9 +1,11 @@
+import logging
 import argparse
 from rc_rmq import RCRMQ
 import json
 
 rc_rmq = RCRMQ({'exchange': 'RegUsr', 'exchange_type': 'topic'})
 tasks = {'ohpc_account': None, 'ood_account': None, 'slurm_account': None}
+logger_fmt = '%(asctime)s [%(module)s] - %(message)s'
 
 def add_account(username, email, full='', reason=''):
   rc_rmq.publish_msg({
@@ -52,3 +54,19 @@ def get_args():
     parser.add_argument('-v', '--verbose', action='store_true', help='verbose output')
     parser.add_argument('-n', '--dry-run', action='store_true', help='enable dry run mode')
     return parser.parse_args()
+
+def get_logger(args=None):
+    if args is None:
+        args = get_args()
+
+    logger_lvl = logging.WARNING
+
+    if args.verbose:
+        logger_lvl = logging.DEBUG
+
+    if args.dry_run:
+        logger_lvl = logging.INFO
+
+    logging.basicConfig(format=logger_fmt, level=logger_lvl)
+    return logging.getLogger(__name__)
+