在log4net中为类的每个实例创建日志的最佳方法是什么?

问题描述

| 在系统中,我们有几个寿命很长的对象,每个对象都属于同一类。只有大约5或6,它们是与外部系统的连接。我希望每个实例都具有自己的文件,可以登录。 做这个的最好方式是什么?我现在只能看到以编程方式添加记录器作为答案。 更新: 我想避免使用配置文件,因为如果我将新的连接添加到其他远程主机,那么我希望其日志输出转到以该连接命名的文件,而不必首先修改配置文件。如果它是自动完成的,那就太好了。我不知道这可能一次关闭就可以在配置文件中实现,而您不必每次都对其进行编辑。     

解决方法

最好的答案是程序化日志记录,我遇到了同样的问题,并发现它是唯一的解决方案。 如需更多帮助,请查看此问题(我的) 我发布的StackOverFlow问题 我的事情是你和我的问题是相同的,动态记录器,重新创建记录器,在运行时处置记录器以及所有这些东西:) 如果还有其他问题,请提出来,因为我已经完成了所有这些工作,所以很高兴为您提供帮助:)     ,我实际上可以看到几种可能性: 将每个日志记录分配给每个连接的不同类别,并将每个类别的日志附加到不同的文件。 根据您的建议以编程方式创建新的记录器。 使用依赖项注入可以根据需要注入尽可能多的独立记录器。     ,我有一篇文章可能会有所帮助: http://horth.com/blog/?p=165 这是关于在运行时更改日志文件。您可以做的是将每个实例的文件名传递到log4net文件中。这样,您可以为类的每个实例创建一个日志文件。 至于您不想使用配置文件的编辑,此方法可以解决该问题,以便您可以使用配置文件,但仍具有所需的灵活性。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...