6

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?

Gishu
  • 134,492
  • 47
  • 225
  • 308
v00d00
  • 3,215
  • 3
  • 32
  • 43
  • You might wanna check [PostSharp](http://www.sharpcrafters.com/) or an [IoC framework](http://en.wikipedia.org/wiki/Inversion_of_control) and read about [aspect oriented programming](http://stackoverflow.com/questions/242177/what-is-aspect-oriented-programming). – Gustavo Puma Nov 09 '10 at 12:29

2 Answers2

3

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

Non-Invasive Tracing & Logging

Dirk Vollmar
  • 172,527
  • 53
  • 255
  • 316
0

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

Gishu
  • 134,492
  • 47
  • 225
  • 308