使用log4net进行一般用途

时间:2013-11-24 22:56:50

标签: c# logging log4net log4net-configuration

我有一个c#.Net 3.5应用程序,它读取多个xml文件,我想构建一个性能日志记录工具。我已经查看了log4net的c#,它似乎在记录异常时做了一切。

我想要做的是我想为性能目的创建一个日志,即我想记录读取每个文件所花费的时间以及执行其他非异常相关任务所需的时间。

我曾尝试使用log4net提供的不同级别的日志记录,但log.INFO等不接受一般消息。

例如,以下代码行对我不起作用。您是否有建议让我能够完成这项工作,还是应该为下面的任务创建自己的日志记录类?

log.Info("Wrote file in {0}ms", elapsed2);

2 个答案:

答案 0 :(得分:2)

您正在寻找InfoFormat method

log.InfoFormat("Wrote file in {0}ms", elapsed2);

所有log4net日志方法(log.Debug,log.Warn等)都带有一个额外的Format方法,其工作方式与string.Format类似。

答案 1 :(得分:1)

你看过log4net page了吗?这是info的接口:

namespace log4net
{
    public interface ILog
    {
        /* Test if a level is enabled for logging */
        bool IsDebugEnabled { get; }
        bool IsInfoEnabled { get; }
        bool IsWarnEnabled { get; }
        bool IsErrorEnabled { get; }
        bool IsFatalEnabled { get; }

        /* Log a message object */
        void Info(object message);
        ...

        /* Log a message object and exception */
        void Info(object message, Exception t);
        ...

        /* Log a message string using the System.String.Format syntax */
        void InfoFormat(string format, params object[] args);
        ...

        /* Log a message string using the System.String.Format syntax */
        void InfoFormat(IFormatProvider provider, string format, params object[] args);
        ...
    }
}

选择你喜欢的那个:)