c#console应用程序的记录器应用程序

时间:2010-08-13 10:08:11

标签: c# logging console-application

我在职业生涯中第一次设计了一个控制台应用程序。该控制台应用程序是一个引擎,它将在特定时间每晚完成一项任务。我将使用Windows任务调度程序安排此应用程序。

现在我需要记录此任务中的每一步。我不确定哪种记录器最适合这种应用。此日志消息可以存储到数据库,xml或平面文件中。

您是否可以针对此类情况提供最佳记录器应用建议?

3 个答案:

答案 0 :(得分:5)

我们通常使用log4net来记录我目前正在维护的应用程序。效果很好。然后我们有脚本每天将日志压缩成zip文件以节省磁盘空间(因为一些应用程序在日志记录中非常冗长)。

答案 1 :(得分:5)

尝试NLog它基本上是Log4j到.NET的端口。您可以通过编程方式或通过.xml文件进行配置。第二个选项很方便,因为每次要更改日志记录选项时都不必重新编译项目。在代码中,常见的用法看起来像。

class MyClass
{
    private static readonly Logger Logger = LogManager.GetCurrentClassLogger();

    public void MyMethod()
    {
        // available logging levels TRACE,INFO,DEBUG,WARN,ERROR, FATAL
        Logger.Debug("Debug message"); 
    }
}

答案 2 :(得分:2)

.NET上最常见的日志框架是Log4NetNLog,但还有其他框架。