2010-07-13 40 views
0

我们正在使用NLog进行日志记录(这是几个月前做出的任意选择,因此可以在必要时进行更改)。NLog日志记录到数据库的n层环境

NLog可以登录到数据库,但需要ConnectionString。对于我们来说,这是一个问题,因为我们处于n层环境中,并且在表示层没有数据库访问权限(所有内容都可以返回到中间层的WCF托管服务)。

有没有人对我如何从webfarm获取日志到一个统一的存储库(SQL,或者它可能是其他一些技术,例如MongoDb等),将坐在中间层WCF后面有很好的建议?

是的,我知道,WCF和其他问题可以试图去记录库(inaccessibity等)时发生,在这种情况下,我们将配置基于服务器的文件记录或东西赶上。

我可以在这里使用一些智慧。

布赖恩

回答

0

对于业务逻辑相关的记录(即不是系统错误),我会建议创建一个WCF端点并在业务层包裹n日志。所以你会像任何中间层方法一样调用你的日志记录方法。

这使得像DB /网络错误等系统错误有关这些选项包括Windows事件日志,电子邮件,文件,微博:)等。选择你挑。只要它不依赖于数据库就没问题。并根据您的应用程序是多么重要,你可能需要使用几个类似的文件系统+电子邮件的方法。