带有log4net的每条消息的新文件

时间:2015-11-05 11:33:47

标签: c# asp.net log4net

我正在使用log4net来跟踪应用程序错误和调试信息,所有这些都归入一个大文件并且工作正常。

但我还想创建一个单独的log4net appender,它将用于将传入的消息转储到磁盘。这些将位于一个单独的目录中,我希望每次调用log.Info都写入一个新文件,最好在文件名中加上时间戳。

这样我就可以轻松调出在给定时间戳发送到我的组件的特定消息。

可以通过配置完成吗?

1 个答案:

答案 0 :(得分:0)

这样的事情对你有用吗?

private void LogFile(string logFileName, string message, Exception ex)
{
    log4net.ThreadContext.Properties["Version"] = "1";
    log4net.GlobalContext.Properties["LogName"] = logFileName;

    ILog logger = LogManager.GetLogger("DeIdentifyDicom");

    log4net.Config.XmlConfigurator.Configure();

    if (ex != null)
    {
        logger.Fatal(message, ex);
    }
    else
    {
        logger.Fatal(message);
    }
}

how do I define log file at run time?