如何为我们正在服务器上开发和运行的应用程序配置log4net?

时间:2010-07-01 02:48:09

标签: c# .net log4net

如果有人澄清我的困惑,我真的会感到沮丧。我正在一家开发和监控.NET框架预付费重装系统的公司实习,目前我们正在使用C#,我需要研究log4net并帮助他们将日志记录框架从简单的日志记录升级到带有几个appender的高级日志记录和布局。到目前为止,我被告知要调查log4net。我阅读了教程并且基本上我用控制台应用程序和简单的Web应用程序完成了它,但问题是当我运行应用程序并且我不想要因为应用程序已经在服务器上运行时发生了日志记录。有人告诉我一种方法来完成日志记录,而无需调试应用程序并使其登录入口点。我很困惑因为我对整个事情都很陌生。提前致谢

2 个答案:

答案 0 :(得分:2)

您需要构建的是接收器。 Log4net有一个插件架构,支持你所描述的内容。更多文档在这里:

http://logging.apache.org/log4net/release/manual/plugins.html

摘录:
RemoteLoggingServerPlugin

  

创建可以的远程日志记录接收器   从a接收日志记录事件   RemotingAppender。创建远程处理   伐木水槽。必须有一个参数   被传递给构造函数   指定接收器URI。这是一个名字   用于识别日志记录接收器   通过远程发布的对象必须   事先与客户达成协议   沟通可以进行。

使用示例:

LogManager.GetRepository().PluginMap.Add
  (new RemoteLoggingServerPlugin("LoggingSink"));

答案 1 :(得分:1)

如果他们希望您使用log4net,他们很乐意在服务器上重新启动更新的程序。毕竟,您需要实际将日志记录添加到要记录的程序中。

这样,如果您使用的是log4net配置文件,您的程序将侦听该文件,您可以随时更改它而无需重新启动或重新编译应用程序。这会立即生效,因此您可以获得极大的灵活性。

如果要集中监控事物,可以考虑将所有内容记录到数据库中。我使用Log4View(商业程序)和他们的TCP远程处理,这很不错。