¿Cómo paso argumentos adicionales a un decorador de Python?

Tengo un decorador como el de abajo.

<code>def myDecorator(test_func):
    return callSomeWrapper(test_func)
def callSomeWrapper(test_func):
    return test_func
@myDecorator
def someFunc():
    print 'hello'
</code>

Quiero mejorar este decorador para aceptar otro argumento como el siguiente

<code>def myDecorator(test_func,logIt):
    if logIt:
        print "Calling Function: " + test_func.__name__
    return callSomeWrapper(test_func)
@myDecorator(False)
def someFunc():
    print 'Hello'
</code>

Pero este código da el error,

TypeError: myDecorator () toma exactamente 2 argumentos (1 dado)

¿Por qué la función no se pasa automáticamente? ¿Cómo paso la función explícitamente a la función decoradora?

Respuestas a la pregunta(4)

Su respuesta a la pregunta