Пример подключения библиотеки log4net в виде объекта без использования конфигов.
На момент написания поста использовалась библиотека log4net версии 2.0.8.
Класс, в котором создаётся логгер. Конструктор принимает 2 параметра - название логгера (оно же название аппендера) и абсолютный путь к файлу лога:
using log4net;
using log4net.Appender;
using log4net.Config;
namespace YourNamespace
{
public class LoggerHelper
{
public ILog Log { get; set; }
public LoggerHelper(string loggerName, string logFileName)
{
var layout = new log4net.Layout.PatternLayout
{
ConversionPattern = "%d %-5p %m%n"
};
var appender = new RollingFileAppender
{
Name = loggerName,
File = logFileName,
StaticLogFileName = true,
AppendToFile = false,
RollingStyle = RollingFileAppender.RollingMode.Size,
MaxSizeRollBackups = 10,
MaximumFileSize = "10MB",
PreserveLogFileNameExtension = true,
Layout = layout
};
layout.ActivateOptions();
appender.ActivateOptions();
BasicConfigurator.Configure();
Log = LogManager.GetLogger(loggerName);
((log4net.Repository.Hierarchy.Logger)Log.Logger).AddAppender(appender);
}
}
}
Использование:
var loggerName = "loggerName";
var logName = @"C:\someFolder\logname.log";
var log = new LoggerHelper(loggerName, logName).Log;
log.Info("Hello World!");
Содержимое лога:
2018-01-10 15:32:38,401 INFO Hello World!