python デコレーターでのエラー


処理の最初と最後にログを出すためにデコレーターを採用しようとしているのですが、戻り値がdictだとエラーになってしまいます。  
まだデコレーターに関して詳しくなくエラーの原因がないか分からず困っております。

[code]

    def args_logger(fnc):
        def wrapper(*args,**kwargs):
            print('--start {}--'.format(fnc.__name__))
            print('args: {} kwargs: {}'.format(args,kwargs))
            fnc(*args,**kwargs)
            print('--end {}--'.format(fnc.__name__))
            
        return wrapper
    
    @args_logger
    def lambda_handler(event, context):
    
        d = fnc_a()
        print(str(d))
        print(d['key'])
    
    @args_logger
    def fnc_a():
        print('fnc_a処理')
        dic = {'key':'value'}
        return dic
    
[/code]

dicを返しているのですが受け取れずnoneになってしまいます。  
デコレーターを外すとうまく処理されます。  
どうしたら正常に戻り値を受け取れるようになるのか？教えてください。

