Пример подключения библиотеки 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!