I am not convinced you need a tool like PostSharp or any other AOP tool for this when developing web api's. There are numerous extension points where you can plug in your logging/auditing/whatever actions. A good overview would be this poster
You could create an Action Filter. You can register this globally across all controllers (if needed) or a MessageHandler for example.
Now, adressing your comment:
[..] What about logging in classes of business layer/data access layer like any exceptions/ custom messages without making direct calls to logger. [..]
I am not sure what you want to achieve by this. If you have proper exception handling you have to deal with the exception or let it bubble up. When writing the exception handling, why not write one extra line that logs whatever you need? It gives you the opportunity to add meaningful context as well to your log message, something that is hard to do using an automated AOP tool!
Lastly, let me address this comment:
Consideration of PostSharp is ruled out as it isn't free.
Tools like PostSharp are very, very much worth their money if it can address the issue at hand. Sure you can spend day researching free alternatives or write your own implementation but it will probably much more limited, needs refactoring of your existing codebase, difficult to maintain for the team as a whole and it will swallow lots of time. The alternative might be more expensive than the tool.