What is the best way to create a log for each instance of a class in log4net?

喜夏-厌秋 提交于 2019-12-23 07:55:07

问题


We have a couple of long lived objects each of the same class in the system. There are only about 5 or 6 and they are connections to outside systems. I want each of those instances to have their own file that they can log to.

What is the best way to do this? I can only see adding loggers programatically as the answer right now.

UPDATE: I want to avoid using the configuration file because if I add a new connection to a different remote host then i want its log output to go to file named after the connection without having to first hack around in a config file. It would be nice if it was done automagically. I don't know maybe this can be achieved in a config file once off and that you don't need to edit it everytime.


回答1:


The best answer IS programatical logging, i went through the same problem and found it as the only solution.

For more help check this question (mine) StackOverFlow Question posted by me

and i thing yours and my problem are the same, dynamic loggers, re create loggers, dispose loggers and all that stuff at runtime :)

if any more questions, do ask, will be glad to help since i have gone through all that :)




回答2:


I can actually see a couple of possibilities:

  1. Assign each logging to a different category for each connection and append logs for each category to different files.
  2. Create new loggers programmatically as you suggested.
  3. Use dependency injection to inject as many separate logger as you need.



回答3:


I have an article that might help:

http://horth.com/blog/?p=165

This is about changing a logfile at runtime. What you could do is pass in the file name for each instance into your log4net file. That way you could create a log file for each instance of your class.

As for your edit about not wanting to use a config file, this method gets around that issue so that you can use a config file but still have the flexibility you want.



来源:https://stackoverflow.com/questions/6136251/what-is-the-best-way-to-create-a-log-for-each-instance-of-a-class-in-log4net

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!