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

JPR*_*ddy 1 c# logging console-application

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

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

您能否为这种情况提供最佳记录器应用程序的建议?

Fre*_*örk 5

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


jet*_*hro 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"); 
    }
}
Run Code Online (Sandbox Code Playgroud)