node.js automatic logging with metadata

I want to create a Node.js logged decorator (function filter) that works like this (pseudocode warning):

logged = function(f) {
    return function() {
        log(f.file, f.line, f.class, f.name, arguments)

        return f.call(this, arguments)
    }
}

Is there a way of accesing the information above? I'm going to be doing heavy logging, so throwing a fake Exception and reading the trace is probably not viable (or is it?).

Note: by f.class I mean the name of the function that holds the prototype. Also, I'm using coffee-script, in case it matters

You don't have to throw the exception, var stack = new Error().stack is enough. From there it is possible to parse out the file, line number, and the class name. BUT the problem is, that it only tracks the function calls, so now to get the proper information for the decorated function Error should be initialized some where within the function or the class. Doing this in decorator, you can get only the information about the file/linenumber where the decoration of the function was occurred, and not where the function was declared.

function User(){}
User.prototype.foo = function(){};
User.stack_ = function(){
    return new Error().stack
};
// ...
function wrapp(Ctor, name){
    var stack = Ctor.stack_();
    var info  = parseStack(stack);
    var orig_ = Ctor.prototype[name];

    Ctor.prototype[name] = function(){
        console.log('Info:', info);
        return orig_.apply(this, arguments);
    };
}
function parseStack(stack){
    // implement better stacktrace parser
    return stack.split('\n')[1];
}
// ...
wrapp(User, 'foo');
// ...
var user = new User;
user.foo();
// and you get smth. like
// Info: at Function.User.stack_ (filename:line:column)

I think this is maximum you can get, and you must always define this stack_ function.