我们目前正在使用NLog进行日志记录(这是几个月前的任意选择,因此可以根据需要进行更改)。
NLog可以登录数据库但需要ConnectionString。这对我们来说是个问题,因为我们处于n层环境中,并且我们在Presentation层没有数据库访问权限(所有内容都返回到中间层的WCF托管服务)。
有没有人对如何将webfarm中的日志提供到单个统一存储库(SQL,或者可能是其他技术,例如MongoDb等)以及将位于中间层WCF后面的人提出了很好的建议? / p>
是的,我知道在尝试访问日志存储库时会出现WCF和其他问题(不可访问等),在这种情况下,我们将配置基于服务器的文件日志记录或其他东西来捕获它。
我可以在这里使用一些智慧。
布赖恩
答案 0 :(得分:0)
对于与业务逻辑相关的日志记录(即非系统错误),我建议创建一个WCF端点并在业务层中包装nlog。因此,您可以像调整任何中间层方法一样调用日志记录方法。
这会留下系统错误,如数据库/网络错误等。对于这些选项包括Windows事件日志,电子邮件,文件,推特:)等..选择你的选择。只要它不依赖于数据库就可以了。根据您的应用程序的重要程度,您可能需要使用文件系统+电子邮件等几种方法。