v00d00
v00d00

Reputation: 3265

How to log method calls on targets marked with an attribute?

Is it possible to inject Loggin behaviour to the marked classes or/and methods like this:

Log("Method {0} started",GetMethodNameTroughReflection)
Call method body
Log("Method {0} Finished",GetMethodNameTroughReflection)

I want to create my own Attribute class, which will realize loging behaviour for method call.

I want to describe login behaviour in the app.config file, thoug it can be disabled by a setting in config.

How to do it right? Maybe there is created solution for tasks like this one?

Upvotes: 6

Views: 5316

Answers (2)

Dirk Vollmar
Dirk Vollmar

Reputation: 176159

This can be done using aspect-oriented programming (AOP). Have a look at PostSharp. See the sample for tracing here:

Non-Invasive Tracing & Logging

Upvotes: 3

Gishu
Gishu

Reputation: 136613

Search for 'aspect oriented programming' - Logging is a canonical example. for instance this link accomplishes it using PostSharp

Upvotes: 0

Related Questions