【发布时间】:2013-03-10 14:10:42
【问题描述】:
我需要将我的应用程序中的某些事件记录到某个文件中。我有一个正在工作的主日志文件,但是如何将特定事件定向到某个文件。
在下面的示例中,我如何将 count 属性记录到某个文件?
ILogger mainApplog = container.Resolve<ILogger>(); // this is working just fine to c:\log.txt
ILogger valuesLog = container.Resolve<ILogger>(); // what should I resolve to log to c:\values.txt?
mainApplog.DebugFormat("Calculating values");
var count = 0;
while (true)
{
count++;
valuesLog.InfoFormat(count.ToString());
if (count > 100)
break;
}
mainApplog.DebugFormat("Calculations completed");
【问题讨论】:
-
一般来说你不应该直接解析组件,除了你的顶级组件。对于日志记录组件,通常使用日志记录工具 (docs.castleproject.org/Windsor.Logging-Facility.ashx)。如果你选择使用这个,每个组件都会得到它自己的记录器,你可以配置 log4net 将不同组件的输出发送到不同的文件。
-
我同意,但是当我已经使用 log4net 来完成几乎相同的事情时,我“觉得”构建自己的日志框架是不必要的。但是你知道我如何根据目的(与组件相反)指导某些输出吗?
-
你所指的 ILogger,是windosr的ILogger还是Log4Net的ILogger?
-
Log4Net(实际上是通过温莎城堡)但是温莎并不重要,我想知道如何使用 Log4net。
标签: logging castle-windsor log4net